我正在配置自己的Spring测试运行器,并尝试定义测试执行顺序。但我希望在此过程中根据某些测试用例的失败来更改它。每个测试用例配置都有自己的id和onFailId,表示在发生故障时要执行的下一个测试的id。如果测试通过,则只执行具有下一个id的测试。当我想重新运行或再次执行早期测试时,可能会出现一些情况。
我如何强制这种逻辑,例如在测试失败听众?
答案 0 :(得分:1)
我想出并实施了一个解决方案。在运行测试套件之前定义排序方法是不够的。提到的所有方法, junit4中的How to run test methods in specific order in JUnit4?允许在执行前设置 。
我不得不在我的跑步者中重载childrenInvoker方法 - 即SpringJUnit4ClassRunner - 默认情况下,它调用runChlidren(私有方法),它在循环中运行所有子测试。
如果用自己的代码替换此循环,则可以在每次测试执行后指定其他逻辑 - 例如选择要运行的下一个测试。