如何使用Gradle命令在Android中运行单个测试类?

14

在我的Android应用程序中,我有几个测试类。如果我运行以下命令./gradlew connectedAndroidTest,它将运行Android测试文件夹中的所有测试用例,并为所有测试类生成测试报告,但我需要测试一个特定的测试类并为该测试类生成报告,我尝试使用以下命令:

./gradlew test --tests com.login.user.UserLoginTest

上述命令会抛出以下异常

FAILURE: Build failed with an exception.

* What went wrong:
Problem configuring task :app:test from command line.
> Unknown command-line option '--tests'.

* Try:
Run gradlew help --task :app:test to get task usage details. Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org


My app gradle version is 3.3

这个回答解决了你的问题吗?使用Gradle运行特定的仪器化单元测试 - tir38
请尝试访问 https://dev59.com/Gqnka4cB1Zd3GeqPMFT5#49403467 - Luis
1个回答

25

如果你在项目中有多个变体(flavour),那么可能会出现这个错误。尝试使用特定的测试任务而不仅仅是test

./gradlew testDebugUnitTest --tests com.login.user.UserLoginTest

4
一般情况下,您还需要指定测试所在的模块,例如对于app模块,您可以使用以下命令:./gradlew :app:testDebugUnitTest --tests com.login.user.UserLoginTest - Merk
10
尝试了版本3.6.0,不起作用。选项“--tests”未被识别。 - eastwater
1
这个答案中的命令对我有效,使用Gradle 6.5和AGP 4.1.2。另请参见https://developer.android.com/studio/test/command-line#RunTestsGradle。可以省略包名,只使用类名。 - fejd
2
这似乎不适用于仪器化测试。 - Evan Citulsky

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接