如何 运行 connectedDebugAndroidTest 运行s 之前和之后的脚本
How to run a scripts before and after connectedDebugAndroidTest runs
我想在 Instrumentation 测试开始之前 运行 来自任务(在 build.gradle 中)的 bash 脚本。该脚本应该 运行 一个包含 ruby 基础模拟服务器的 docker 容器。
我不知道为什么我不能得到它,但这就是我现在所有的(放在我的build.gradle):
task startMock(type:Exec) {
println("Executing myScript")
def proc = "cd ../..".execute()
proc.waitForProcessOutput(System.out, System.err)
proc = "../scripts/_mock.sh -a start -p ${projectDir}/../../ -m deps/mock-config".execute()
proc.waitForProcessOutput(System.out, System.err)
}
gradle.projectsEvaluated {
connectedDebugAndroidTest.dependsOn startMock
}
问题是任务 运行 总是,不仅在调用 connectedDebugAndroidTest
(或 connectCheck
)时...
我很困惑,感谢任何帮助 :) 也许有人可以给我提示如何解决这个问题。
好的,我终于明白了太棒了 :)
我将以下部分添加到我的 build.gradle(app),现在脚本在 connectCheck
被触发之前和之后被调用:
task('mockStart', type: Exec){
doFirst {
println "MOCK: Start server ..."
}
executable "../../scripts/_mock.sh"
args '-a', 'start', '-p', "${projectDir}/../../", '-m', 'deps/mock-config'
}
task('mockStop', type: Exec){
doFirst {
println "MOCK: Stop Server ..."
}
executable "../../scripts/_mock.sh"
args '-a', 'stop', '-p', "${projectDir}/../../", '-m', 'deps/mock-config'
}
gradle.projectsEvaluated {
connectedDebugAndroidTest.dependsOn mockStart
connectedDebugAndroidTest.finalizedBy mockStop
}
也许这会帮助像我一样有错误的人:)
祝你好运,敬请期待!
我想在 Instrumentation 测试开始之前 运行 来自任务(在 build.gradle 中)的 bash 脚本。该脚本应该 运行 一个包含 ruby 基础模拟服务器的 docker 容器。
我不知道为什么我不能得到它,但这就是我现在所有的(放在我的build.gradle):
task startMock(type:Exec) {
println("Executing myScript")
def proc = "cd ../..".execute()
proc.waitForProcessOutput(System.out, System.err)
proc = "../scripts/_mock.sh -a start -p ${projectDir}/../../ -m deps/mock-config".execute()
proc.waitForProcessOutput(System.out, System.err)
}
gradle.projectsEvaluated {
connectedDebugAndroidTest.dependsOn startMock
}
问题是任务 运行 总是,不仅在调用 connectedDebugAndroidTest
(或 connectCheck
)时...
我很困惑,感谢任何帮助 :) 也许有人可以给我提示如何解决这个问题。
好的,我终于明白了太棒了 :)
我将以下部分添加到我的 build.gradle(app),现在脚本在 connectCheck
被触发之前和之后被调用:
task('mockStart', type: Exec){
doFirst {
println "MOCK: Start server ..."
}
executable "../../scripts/_mock.sh"
args '-a', 'start', '-p', "${projectDir}/../../", '-m', 'deps/mock-config'
}
task('mockStop', type: Exec){
doFirst {
println "MOCK: Stop Server ..."
}
executable "../../scripts/_mock.sh"
args '-a', 'stop', '-p', "${projectDir}/../../", '-m', 'deps/mock-config'
}
gradle.projectsEvaluated {
connectedDebugAndroidTest.dependsOn mockStart
connectedDebugAndroidTest.finalizedBy mockStop
}
也许这会帮助像我一样有错误的人:)
祝你好运,敬请期待!