Gradle中的并行任务未完成(connectedAndroidTest)
我在gradle.properties中有org.gradle.parallel=true。我正在运行一个后端Google云模块,同时运行一个connectedAndroidTest,它执行一些浓缩咖啡测试。测试成功,任务以绿色显示正常(请参见图),但连接的测试任务从未实际完成自身或打印行,并且不会移动到队列中的下一个任务 如果我自己运行任务,它将结束并打印行 我的root build.gradle文件:Gradle中的并行任务未完成(connectedAndroidTest),android,google-app-engine,gradle,google-cloud-platform,google-cloud-endpoints,Android,Google App Engine,Gradle,Google Cloud Platform,Google Cloud Endpoints,我在gradle.properties中有org.gradle.parallel=true。我正在运行一个后端Google云模块,同时运行一个connectedAndroidTest,它执行一些浓缩咖啡测试。测试成功,任务以绿色显示正常(请参见图),但连接的测试任务从未实际完成自身或打印行,并且不会移动到队列中的下一个任务 如果我自己运行任务,它将结束并打印行 我的root build.gradle文件: buildscript { repositories { jcen
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
google()
}
}
// Task to set up GCE, runs paid flavor test and shuts down the server.
task configureTest {
dependsOn 'startBackend', 'runInstrumentedTest', 'stopBackend'
doLast {
println 'Tests carried out and local server shut down'
}
}
task startBackend {
dependsOn ':backend:appengineRun'
}
// Run InstrumentedTest only in paid flavor as there is no interstitial ad.
task runInstrumentedTest {
mustRunAfter 'startBackend'
dependsOn ':app:connectedPaidDebugAndroidTest'
doLast {
println 'The test finished.'
}
}
task stopBackend
mustRunAfter 'runInstrumentedTest'
dependsOn ':backend:appengineStop'
}
为了避免任何阻塞,请尝试以守护程序模式启动后端,并查看它是否有助于您正确完成测试。要做到这一点,请在后端的build.gradle文件中添加以下内容:
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
google()
}
}
// Task to set up GCE, runs paid flavor test and shuts down the server.
task configureTest {
dependsOn 'startBackend', 'runInstrumentedTest', 'stopBackend'
doLast {
println 'Tests carried out and local server shut down'
}
}
task startBackend {
dependsOn ':backend:appengineRun'
}
// Run InstrumentedTest only in paid flavor as there is no interstitial ad.
task runInstrumentedTest {
mustRunAfter 'startBackend'
dependsOn ':app:connectedPaidDebugAndroidTest'
doLast {
println 'The test finished.'
}
}
task stopBackend
mustRunAfter 'runInstrumentedTest'
dependsOn ':backend:appengineStop'
}
请参阅以下帖子以了解更多信息: