46

Gradle を使用して特定の Android インストルメンテーション ユニット テストを実行する方法はありますか? 私はもう試した

gradle -Dtest.single=UnitTestName connectedInstrumentTest

しかし、パッケージ内のすべてのテストを実行しているようです。

4

8 に答える 8

26

の使用test.singleは非推奨のようです。これを行う新しい正しい方法は

./gradlew :<module>:test --tests <pattern>

どこ<pattern>に次のようなものがあります:

  • com.example.MyTestcom.example.MyTest のすべてのテスト メソッドを実行するには
  • *MyTest名前が MyTest で終わるすべてのクラスのすべてのメソッドに一致する
  • *.MyTest.myMethod任意のパッケージのクラス MyTest で特定のテスト メソッドを実行する

testマルチプロジェクト ビルドの場合は、タスクの前に必ずモジュール パスを指定してください。そうしないと、すべてのサブプロジェクトでテスト パターンを検索するときに、誤解を招くエラー メッセージが表示されます。

これは、私が見つけたGradleサイトのどこにも文書化されていません。

于 2015-09-09T16:52:34.093 に答える
24

これは、次のものを使用している場合に機能しますinstrumentationTestRunner

./gradlew test -Pandroid.testInstrumentationRunnerArguments.class=<pkg>.YourClassName

gradle 2.10 と android gradle plugin 2.0.0-beta2 を使用します。

実行したいテストがわかっているので、おそらくどのモジュール/フレーバーを使用するかもわかっています。正確なモジュールと Gradle タスクを指定することで、Gradle を支援できます。したがって、テストがappモジュール内にあり、debugフレーバーをテストする場合:

./gradlew app:connectedDebugAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=<pkg>.YourClassName

tests_regex代わりに、引数を使用してさらに派手にすることができます。

./gradlew app:connectedDebugAndroidTest -Pandroid.testInstrumentationRunnerArguments.tests_regex=PartialClassName*
./gradlew app:connectedDebugAndroidTest -Pandroid.testInstrumentationRunnerArguments.tests_regex=partialMethodName*
于 2016-02-23T18:51:50.400 に答える
7

--testsAndroid gradle プラグイン 1.1.0-rc1 以降、フラグを使用して単一のテスト クラスを実行するには、次を実行します。

./gradlew app:testDebug --tests=com.example.MyTest

http://tools.android.com/tech-docs/unit-testing-support#TOC-Running-from-Gradleを参照してください

于 2016-03-15T08:52:01.633 に答える
1

これをチェックする必要があります。

https://github.com/JCANdKSolutions/android-unit-test

私はこの github リポジトリでイシューを作成し、この男が私の問題を解決して Maven にアップロードしたので、私の build.gradle ファイルでこのプラグインを使用しています。

指示は彼のリポジトリに書かれています。簡単にフォローできます。

この android-unit-test プラグインを使用した後、次のように使用できます

../gradlew -Dtest.single=SomeTest test 

また

../gradlew -Dtest.single=SomeTest clean check

今は機能しており、必要な特定のテストしか実行できませんでした

于 2013-11-19T19:59:00.190 に答える