Gradle可以按特定顺序运行两个测试吗?

时间:2013-10-23 21:14:35

标签: java unit-testing gradle

我们正在将一些ant构建脚本迁移到gradle,并在整个过程中诊断问题。突然出现的一个问题是在CI服务器上(jenkins运行gradle)我们偶尔会遇到测试失败。我们认为该问题与测试执行顺序有关,因为其中一个失败的测试在某些库代码中使用了线程本地存储。

我希望能够在修复损坏的测试之前在本地重现问题。然而。我不能在本地重现这个问题,因为gradle总是按顺序运行测试。

那么,有没有办法强制gradle在测试类Y之前运行测试类X?测试需要在同一个JVM中运行 - 一个接一个测试。

如果重要,测试是JUnit测试。

3 个答案:

答案 0 :(得分:1)

是的,有可能。其中一种可能性是为测试Y运行创建额外的任务

task YTest(type: Test) {
    include '**/Y.*'
}

test {
    exclude '**/Y.*'
}

test.dependsOn YTest

答案 1 :(得分:1)

答案 2 :(得分:1)

testNG(Junit替代方案,也由gradle支持)也允许您控制测试订单。有关详细信息,请参阅this post