如何找到影响其他测试执行的测试?

时间:2016-03-15 10:17:23

标签: java gradle junit

我目前正在努力解决一个相当困难的问题:我正在开发一个项目,该项目有大约8千个单元测试(在相当强大的机器上执行需要15分钟)和当前失败的测试没有当他们或他们自己运行时(或者当其他测试失败时运行时)失败,所以我猜有一些测试通过但是留下了一些混乱。

我目前正在尝试使用gradle:

使用特定包中的测试来运行这些测试
test {
    filter {
        includeTestsMatching 'some.package.*'
        includeTestsMatching '*Test1'
        includeTestsMatching '*Test2'
    }
}

然而,有些事情我不知道如何控制,比如测试类的执行顺序(如果有人知道如何改变顺序也会对我有所帮助)。

也许有人已经知道了一些很好的查找影响其他测试的测试的过程吗?

1 个答案:

答案 0 :(得分:0)

假设有junit测试,那么:

  1. 定义一个test suite,指定测试类的排序
  2. 确保您使用junit 4.11或更高版本获取deterministic method order
  3. 仅从gradle运行测试套件(或直接从您的ide运行)
  4. 通过编辑套件调整排序,直到您重现问题