我们正在将一些ant构建脚本迁移到gradle,并在整个过程中诊断问题。突然出现的一个问题是在CI服务器上(jenkins运行gradle)我们偶尔会遇到测试失败。我们认为该问题与测试执行顺序有关,因为其中一个失败的测试在某些库代码中使用了线程本地存储。
我希望能够在修复损坏的测试之前在本地重现问题。然而。我不能在本地重现这个问题,因为gradle总是按顺序运行测试。
那么,有没有办法强制gradle在测试类Y之前运行测试类X?测试需要在同一个JVM中运行 - 一个接一个测试。
如果重要,测试是JUnit测试。
答案 0 :(得分:1)
是的,有可能。其中一种可能性是为测试Y运行创建额外的任务
task YTest(type: Test) {
include '**/Y.*'
}
test {
exclude '**/Y.*'
}
test.dependsOn YTest
答案 1 :(得分:1)
Per Peter在gradle论坛上的回复,这是不可能的。
另一种方法是使用测试套件。
答案 2 :(得分:1)