我目前正在努力解决一个相当棘手的问题:我正在开发一个项目,该项目有大约 8000 个单元测试(在相当强大的机器上执行需要 15 分钟),并且当前失败的测试在单独运行或自己运行时(或与其他失败的测试一起运行时)不会失败,所以我猜有一些测试通过了,但留下了一些困惑。
我目前正在尝试使用 gradle 通过特定包中的测试来运行这些测试:
test {
filter {
includeTestsMatching 'some.package.*'
includeTestsMatching '*Test1'
includeTestsMatching '*Test2'
}
}
但是,有些事情我不知道如何控制,例如测试类的执行顺序(如果有人知道如何更改顺序,这也会对我有帮助)。
也许有人已经知道一些寻找影响其他测试的测试的好过程?
最佳答案
假设进行junit测试,那么:
- 定义 test suite指定测试类的顺序
- 确保您使用 junit 4.11 或更高版本来获取 deterministic method order
- 仅从 gradle 运行测试套件(或直接从您的 ide 运行)
- 通过编辑套件来调整顺序,直到重现问题
关于java - 如何找到影响其他测试执行的测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36008399/