Joh*_*ock 19 gradle android-gradle-plugin
使用带有gradle包装器版本2.2.1的Android工作室,我试图在一个单独的测试类中运行所有测试,以及该类中的特定测试并尝试使用:
./gradlew test --tests DownloadsActivityTest
Run Code Online (Sandbox Code Playgroud)
像文档建议,以及
-DandroidTest.single=DownloadsActivityTest
Run Code Online (Sandbox Code Playgroud)
但这些版本都不起作用.
如何使用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
Run Code Online (Sandbox Code Playgroud)
Jos*_*eca 15
要仅在特定测试类中运行检测测试(androidTests),请执行:
./gradlew app:connectedAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=com.example.android.testing.blueprint.ui.espresso.EspressoTest
Run Code Online (Sandbox Code Playgroud)
要仅在特定测试类或包中运行本地测试("单元",JVM测试),请执行:
./gradlew :app:testDebugUnitTest --tests "com.example.android.testing.blueprint.unit.integrationTests.*"
Run Code Online (Sandbox Code Playgroud)
Hea*_*ers 11
./gradlew :<module name>:test<CapitalCasedBuildVariant> --tests "<Test name pattern>"
Run Code Online (Sandbox Code Playgroud)
指定测试所在的模块名称非常重要,否则,当gradle构建依赖模块时,它将尝试测试它们,并且可能会失败,因为所有测试都不符合测试模式:
No tests found for given includes: [FooTest]
Run Code Online (Sandbox Code Playgroud)
此外,除非您指定测试的完全限定名(FQN),否则您的测试名称模式应以a开头*.
在我的例子中,我有一个名为的模块app和一个名为的变体localDebug,我想测试FooTest,所以我运行:
./gradlew :app:testLocalDebug --tests "*FooTest"
Run Code Online (Sandbox Code Playgroud)
Android Gradle 插件从 1.0.0 开始,不支持运行单个 Android 测试。其功能请求提交于https://code.google.com/p/android/issues/detail?id=74196。
我知道更好的测试支持总体上在 1.0 后的优先级列表中非常重要,但我不能肯定地说何时会实现这一点。
| 归档时间: |
|
| 查看次数: |
8700 次 |
| 最近记录: |