如何从命令行使用gradle wrapper 2.2.1运行单个单元测试

如何从命令行使用gradle wrapper 2.2.1运行单个单元测试,gradle,android-gradle-plugin,Gradle,Android Gradle Plugin,使用Android studio和gradle wrapper版本2.2.1,我尝试在一个测试类中运行所有测试,以及该类中的特定测试,并尝试使用: ./gradlew test --tests DownloadsActivityTest 正如文件所示,以及 -DandroidTest.single=DownloadsActivityTest 但这两种版本都不起作用 如何使用gradle包装器从命令行运行单个测试类和单个测试 ./gradlew --version -----------

使用Android studio和gradle wrapper版本2.2.1,我尝试在一个测试类中运行所有测试,以及该类中的特定测试,并尝试使用:

./gradlew  test --tests DownloadsActivityTest
正如文件所示,以及

-DandroidTest.single=DownloadsActivityTest
但这两种版本都不起作用

如何使用gradle包装器从命令行运行单个测试类和单个测试

 ./gradlew --version

------------------------------------------------------------
Gradle 2.2.1
------------------------------------------------------------

Build time:   2014-11-24 09:45:35 UTC
Build number: none
Revision:     6fcb59c06f43a4e6b1bcb401f7686a8601a1fb4a

Groovy:       2.3.6
Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM:          1.7.0_51 (Oracle Corporation 24.51-b03)
OS:           Linux 3.17.6-200.fc20.x86_64 amd64

[16:33][j@localhost:~/myHomeDir]$ ./gradlew  test --tests DownloadsActivityTest
WARNING: Dependency commons-logging:commons-logging:1.1.1 is ignored for debugTest as it may be conflicting with the internal version provided by Android.
     In case of problem, please repackage it with jarjar to change the class packages
WARNING: Dependency org.apache.httpcomponents:httpclient:4.0.3 is ignored for debugTest as it may be conflicting with the internal version provided by Android.
     In case of problem, please repackage it with jarjar to change the class packages

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.

BUILD FAILED

Total time: 4.466 secs

从1.0.0开始,Android Gradle插件不支持运行单个Android测试。其功能请求提交至


我知道更好的测试支持通常在1.0后的优先级列表中非常高,但我不能确定何时会实现它。

这在Android Studio 1.1中得到支持,使用Android Gradle插件v1.1.0

遵循指南

此外,除非指定测试的完全限定名(
FQN
),否则测试名模式应以
*
开头

在我的例子中,我有一个名为
app
的模块和一个名为
localDebug
的变量,我想测试
FooTest
,所以我运行了:

./gradlew :app:testLocalDebug --tests "*FooTest"

要仅在特定测试类中运行插装测试(androidTests),请执行:

./gradlew app:connectedAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=com.example.android.testing.blueprint.ui.espresso.EspressoTest
要仅在特定测试类或包中运行本地测试(“单元”,JVM测试),请执行:

./gradlew :app:testDebugUnitTest --tests "com.example.android.testing.blueprint.unit.integrationTests.*"

他正在试着运行一个测试类。android studio gradle插件不支持哪一个是问题所在这适用于单元测试,而不是插装测试。不清楚您是在运行本地测试还是插装测试。如果您谈论的是仪器测试,那么这可能是
./gradlew app:connectedAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=com.example.android.testing.blueprint.ui.espresso.EspressoTest
./gradlew :app:testDebugUnitTest --tests "com.example.android.testing.blueprint.unit.integrationTests.*"