如何在connectedDebugAndroidTest运行之前和之后运行脚本

如何在connectedDebugAndroidTest运行之前和之后运行脚本,android,ruby,docker,gradle,android-testing,Android,Ruby,Docker,Gradle,Android Testing,我想在插装测试开始之前从任务(build.gradle中)运行bash脚本。该脚本应该运行一个包含ruby bases模拟服务器的docker容器 我不知道为什么我不能得到它,但这是我现在所拥有的(放在我的build.gradle中): 问题是任务总是运行,而不仅仅是在调用connectedDebugAndroidTest(或connectCheck)时 我很困惑,非常感谢任何人的帮助:)也许有人能给我一个如何解决这个问题的提示。好的,我终于得到了帮助:) 我在build.gradle(app)

我想在插装测试开始之前从任务(build.gradle中)运行bash脚本。该脚本应该运行一个包含ruby bases模拟服务器的docker容器

我不知道为什么我不能得到它,但这是我现在所拥有的(放在我的build.gradle中):

问题是任务总是运行,而不仅仅是在调用
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
}
也许这会帮助像我一样有错误的人:)

祝你好运,敬请期待

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
}