我的构建服务中的两个测试失败,在本地运行时不会失败。
我发现当我在本地执行mvn clean test
时,我的测试类的排序顺序是按字母顺序排列的(包和类),但是当在构建服务中运行时,它们看起来是随机的。
我不打算需要特定的“订单”,所以我绝对担心一个测试先于另一个测试暗示了一个隔离问题。但是,我认为我不能告诉maven以某种顺序运行类。
我可以做些什么来尝试重现?
修改的
我克隆了我的构建计划,但指着一个分叉的仓库(相同的代码),它成功运行,没有失败的测试......
答案 0 :(得分:6)
您应该尝试在本地执行mvn -Dsurefire.runOrder=random clean test
随机订单。
但即使您的构建在本地失败,随机顺序也不是因测试顺序而重现失败的最佳选择。如果在按字母顺序运行时测试都是绿色的,那么您可以使用mvn -Dsurefire.runOrder=reversealphabetical clean test
还有一些选项 - 请参阅runOrder documentation