构建服务中的单元测试失败但不是本地

时间:2016-04-24 13:21:05

标签: java spring junit bamboo

我的构建服务中的两个测试失败,在本地运行时不会失败。

我发现当我在本地执行mvn clean test时,我的测试类的排序顺序是按字母顺序排列的(包和类),但是当在构建服务中运行时,它们看起来是随机的。

我不打算需要特定的“订单”,所以我绝对担心一个测试先于另一个测试暗示了一个隔离问题。但是,我认为我不能告诉maven以某种顺序运行类。

我可以做些什么来尝试重现?

修改

我克隆了我的构建计划,但指着一个分叉的仓库(相同的代码),它成功运行,没有失败的测试......

1 个答案:

答案 0 :(得分:6)

您应该尝试在本地执行mvn -Dsurefire.runOrder=random clean test随机订单。

但即使您的构建在本地失败,随机顺序也不是因测试顺序而重现失败的最佳选择。如果在按字母顺序运行时测试都是绿色的,那么您可以使用mvn -Dsurefire.runOrder=reversealphabetical clean test

使构建始终失败

还有一些选项 - 请参阅runOrder documentation