android espresso:从命令行运行测试

San*_* Kh 2 android android-espresso

我有一个包含所有测试类的 test.espresso 包。我试图从命令行运行一个测试类,但它最终运行了所有测试类。

adb shell am instrument -w \ com.demo.app.test/android.support.test.runner.AndroidJUnitRunner

我如何只运行一个测试类。我想使用bamboo(就像jenkins)在单独的作业中单独运行所有测试类。

use*_*316 8

如果你使用gradle,那么你可以直接使用gradle任务来实现它。它会是这样的:

./gradlew connectedAndroidTest- 在连接的设备上安装并运行所有类型的仪器测试。

要运行特定风味:

./gradlew connectedMyAppFlavorDebugAndroidTest
Run Code Online (Sandbox Code Playgroud)

它会为您完成所有工作,从构建应用程序、在连接的设备上安装、运行测试到最后卸载应用程序。

如果您不确定执行测试所需的确切 gradle 任务,请运行以下命令来获取所有可用的 gradle 任务:

./gradlew tasks
Run Code Online (Sandbox Code Playgroud)

您将获得所有任务的列表以及简短的描述。

  • 好的,但是您将如何定位单个测试类或包? (2认同)

小智 6

这对我有用(更改以粗体显示:

adb shell am instrument -w-e class full.path.and.TestClassName\ com.demo.app.test/android.support.test.runner.AndroidJUnitRunner

基于:https : //developer.android.com/studio/test/command-line.html#AMOptionsSyntax(在“类”选项下查看)。

  • adb shell am instrument -w -r -e debug false -e class package.name.TestClassName com.appidentifier/android.support.test.runner.AndroidJUnitRunner (2认同)