Android Gradle能在不运行仪器测试的情况下构建仪器测试吗?

Android Gradle能在不运行仪器测试的情况下构建仪器测试吗?,android,android-gradle-plugin,android-testing,gradlew,Android,Android Gradle Plugin,Android Testing,Gradlew,TL:DR 我正在寻找一种方法来确保我们的仪器测试套件能够编译,但不实际运行它。使用Android插件forGradle可以实现这一点吗 我查看了一下,除了一个Gradle命令之外,我没有看到任何东西,该命令可以编译并一起运行测试 我寻找这个的原因是我们希望能够在每个请求上运行一个构建,但是运行这个套件太长了。然而,我们希望确保instrumentation套件至少能够编译所有的代码更改,以便它能够在其运行时间内运行 感谢您的帮助可以实现,gradle正在以任务的形式运行一切,我希望您正在执行:

TL:DR 我正在寻找一种方法来确保我们的仪器测试套件能够编译,但不实际运行它。使用Android插件for
Gradle
可以实现这一点吗

我查看了一下,除了一个Gradle命令之外,我没有看到任何东西,该命令可以编译并一起运行测试

我寻找这个的原因是我们希望能够在每个请求上运行一个构建,但是运行这个套件太长了。然而,我们希望确保instrumentation套件至少能够编译所有的代码更改,以便它能够在其运行时间内运行


感谢您的帮助

可以实现,gradle正在以任务的形式运行一切,我希望您正在执行:

./gradlew test
您可以将输出视为

Incremental java compilation is an incubating feature.
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:checkDebugManifest
:app:preReleaseBuild UP-TO-DATE
:app:prepareComAndroidSupportAnimatedVectorDrawable2501Library
:app:prepareComAndroidSupportAppcompatV72501Library
:app:prepareComAndroidSupportDesign2501Library
:app:prepareComAndroidSupportRecyclerviewV72501Library
:app:prepareComAndroidSupportSupportCompat2501Library
:app:prepareComAndroidSupportSupportCoreUi2501Library
:app:prepareComAndroidSupportSupportCoreUtils2501Library
:app:prepareComAndroidSupportSupportFragment2501Library
:app:prepareComAndroidSupportSupportMediaCompat2501Library
:app:prepareComAndroidSupportSupportV42501Library
:app:prepareComAndroidSupportSupportVectorDrawable2501Library
:app:prepareComAndroidSupportTransition2501Library
:app:prepareDebugDependencies
:app:compileDebugAidl
:app:compileDebugRenderscript
:app:generateDebugBuildConfig
:app:generateDebugResValues
:app:generateDebugResources
:app:mergeDebugResources
:app:processDebugManifest
:app:processDebugResources
:app:generateDebugSources
:app:incrementalDebugJavaCompilationSafeguard
:app:compileDebugJavaWithJavac
:app:compileDebugJavaWithJavac - is not incremental (e.g. outputs have changed, no previous execution, etc.).
:app:incrementalDebugUnitTestJavaCompilationSafeguard UP-TO-DATE
:app:preDebugUnitTestBuild UP-TO-DATE
:app:prepareDebugUnitTestDependencies
:app:compileDebugUnitTestJavaWithJavac
:app:processDebugJavaRes UP-TO-DATE
:app:processDebugUnitTestJavaRes UP-TO-DATE
:app:compileDebugUnitTestSources
:app:mockableAndroidJar
:app:assembleDebugUnitTest
:app:testDebugUnitTest
:app:checkReleaseManifest
:app:prepareReleaseDependencies
:app:compileReleaseAidl
:app:compileReleaseRenderscript
:app:generateReleaseBuildConfig
:app:generateReleaseResValues
:app:generateReleaseResources
:app:mergeReleaseResources
:app:processReleaseManifest
:app:processReleaseResources
:app:generateReleaseSources
:app:incrementalReleaseJavaCompilationSafeguard
:app:compileReleaseJavaWithJavac
:app:compileReleaseJavaWithJavac - is not incremental (e.g. outputs have changed, no previous execution, etc.).
:app:incrementalReleaseUnitTestJavaCompilationSafeguard UP-TO-DATE
:app:preReleaseUnitTestBuild UP-TO-DATE
:app:prepareReleaseUnitTestDependencies
:app:compileReleaseUnitTestJavaWithJavac
:app:processReleaseJavaRes UP-TO-DATE
:app:processReleaseUnitTestJavaRes UP-TO-DATE
:app:compileReleaseUnitTestSources
:app:assembleReleaseUnitTest
:app:testReleaseUnitTest
:app:test

BUILD SUCCESSFUL
这是任务调用层次结构,表示任务“测试”依赖于以上所有或一个任务,即“app:testreleaseuntest”。因此,您可以调用“assembleReleaseUnitTest”


找到了
Gradle
任务以实现此目标:

$。/gradlew用javac编译了bugandoridtestjavawithjavac


上述任务将编译插入指令的测试,而不实际运行它们。

您的答案可能适用于单元测试;然而,对于仪器测试任务是不同的。不过,在查找Gradle任务列表时,这是一个不错的选择!
./gradlew assembleReleaseUnitTest