web-dev-qa-db-ja.com

Gradle:クラスのインストゥルメンテーションテストを実行する方法

Android Studioで実行テストを実行しています。実行構成は以下のように定義されています(警告は気にしないでください): enter image description here

したがって、これは特定のクラスのテストスーツを呼び出しています。コマンドラインでこれをどのように達成できますか?./gradlewコマンドを使用していると思いますか?

23
Adam Styrc

AndroidTestingBlueprint で述べたように、Android.testInstrumentationRunnerArguments.classプロパティ:

./gradlew app:connectedAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=com.example.Android.testing.blueprint.ui.espresso.EspressoTest
51
rciovati

ドキュメント によると:

Android Debug Bridge(adb)を使用してコマンドラインからテストを実行すると、他の方法よりも実行するテストを選択するためのオプションが増えます。個々のテストメソッドを選択したり、アノテーションに従ってテストをフィルター処理したり、テストオプションを指定したりできます。テストの実行は完全にコマンドラインから制御されるため、さまざまな方法でシェルスクリプトを使用してテストをカスタマイズできます。

特定のクラスのadbでインストルメンテーションテストを実行するには、次のようにします。

_adb Shell am instrument -w -e class 'com.myapp.MyActivityTest' com.myapp.test/Android.support.test.runner.AndroidJUnitRunner
_

_app/build.gradle_ファイルでカスタムtestInstrumentationRunnerを定義している場合は、次のように_Android.support.test.runner.AndroidJUnitRunner_を独自のファイルに置き換える必要があります。

_adb Shell am instrument -w -e class 'com.myapp.MyActivityTest' com.myapp.test/com.myapp.MyCustomTestRunner
_

ヒント:コマンドが正しくないためにエラーが発生した場合は、Android Studio。実行ウィンドウの出力にコマンドが表示されます。


これらの2つのドキュメントページには、実行オプションが含まれています。

https://developer.Android.com/reference/Android/support/test/runner/AndroidJUnitRunner#typical-usage

https://developer.Android.com/studio/test/command-line#AMSyntax

1