我如何 运行 单个 android 仪器测试用例?
How can I run a single android instrumentation test case?
不是单元测试,而是仪器测试。
我的应用有多种风格,所以我 运行:
./gradlew connectedClientDebugAndroidTest
到 运行 我的仪器测试(风格名称是 client)。
但我想 运行 一个名为 MyActivityTestCase.java
的特定仪器测试用例 class。这可能吗?如果是 运行 this
的命令是什么
使用 adb shell 的一般语法是:
adb shell am instrument -w <test_package_name>/<runner_class>
其中是您的测试应用程序的 Android 程序包名称,并且是您正在使用的 Android 测试运行器 class 的名称。
更多详细信息,请访问:http://developer.android.com/tools/testing/testing_otheride.html
使用 Gradle,您可以 运行 使用 test.single
系统 属性 进行单个测试。您可以使用 -D
选项从 command-line 设置它。例如
$ gradle -Dtest.single=MyActivityTestCase connectedClientDebugAndroidTest
有关详细信息,请参阅 http://mrhaki.blogspot.com/2013/05/gradle-goodness-running-single-test.html。
所以我解决这个问题的方法是通过 flavor.
将我想要的单个 TestCase 放入特定文件夹中
- 所以在这个例子中,我的风味被命名为client,所以我把我想要运行这个风味的单个测试放到
app/src/androidTestClient/MyActivityTestCase.java
- 然后运行
./gradlew connectedClientDebugAndroidTest
如果您有针对特定构建风格的多个测试用例,则不是解决方案,但对我来说情况并非如此,所以它有效。
- 我所有的其他测试都在我的风格中,名为 other,在文件夹中:
app/src/androidTestOther/
。所以对于 运行 其他仪器测试,我只是 运行 命令 ./gradlew connectedOtherDebugAndroidTest
不是单元测试,而是仪器测试。
我的应用有多种风格,所以我 运行:
./gradlew connectedClientDebugAndroidTest
到 运行 我的仪器测试(风格名称是 client)。
但我想 运行 一个名为 MyActivityTestCase.java
的特定仪器测试用例 class。这可能吗?如果是 运行 this
使用 adb shell 的一般语法是:
adb shell am instrument -w <test_package_name>/<runner_class>
其中是您的测试应用程序的 Android 程序包名称,并且是您正在使用的 Android 测试运行器 class 的名称。
更多详细信息,请访问:http://developer.android.com/tools/testing/testing_otheride.html
使用 Gradle,您可以 运行 使用 test.single
系统 属性 进行单个测试。您可以使用 -D
选项从 command-line 设置它。例如
$ gradle -Dtest.single=MyActivityTestCase connectedClientDebugAndroidTest
有关详细信息,请参阅 http://mrhaki.blogspot.com/2013/05/gradle-goodness-running-single-test.html。
所以我解决这个问题的方法是通过 flavor.
将我想要的单个 TestCase 放入特定文件夹中- 所以在这个例子中,我的风味被命名为client,所以我把我想要运行这个风味的单个测试放到
app/src/androidTestClient/MyActivityTestCase.java
- 然后运行
./gradlew connectedClientDebugAndroidTest
如果您有针对特定构建风格的多个测试用例,则不是解决方案,但对我来说情况并非如此,所以它有效。
- 我所有的其他测试都在我的风格中,名为 other,在文件夹中:
app/src/androidTestOther/
。所以对于 运行 其他仪器测试,我只是 运行 命令./gradlew connectedOtherDebugAndroidTest