有一种更简单的方法:使用两个主要任务来运行集成测试:
-
第一个(你的电流
integrationTest
任务)以独立方式(不部署/关闭)执行测试,
-
第二个(你的电流
runIntegrationTests
任务)包装第一个任务,并处理部署/关闭节点。
1)删除
dependsOn
之间的依赖关系
积分试验
任务和
startWebappNodes
=>您可以执行此操作
积分试验
以“独立”方式执行任务(
针对当前正在运行的内容
)
./gradlew integrationTest
// execution of dependent task
> Task :integrationTest
// .. test executing...
2)更新你的
运行集成测试
使之成为现实的任务取决于两者
积分试验
和
开始Web应用程序节点
任务,并添加一个约束
开始Web应用程序节点
前执行
积分试验
使用
mustRunAfter
task runIntegrationTests(type: Exec) {
group "test"
dependsOn startWebappNodes
dependsOn integrationTest
commandLine 'docker-compose', 'down'
doLast {
println "Integration tests running finished"
}
}
integrationTest.mustRunAfter startWebappNodes
=>执行任务时
运行集成测试
它将启动节点,执行集成测试,然后关闭节点
./gradlew runIntegrationTests
// execution of dependent task
> Task :startWebappNodes
> Task :integrationTest
// .. test executing...
> Task :runIntegrationTests
Integration tests running finished