单元测试在构建服务中失败但在本地失败

Unit Tests Fails in Build Service But Not Locally

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

我发现当我在本地执行 mvn clean test 时,我的测试 classes 的排序顺序是按字母顺序排列的(包和 class),但是当 运行 在构建服务中,它们似乎是 运行dom。

我无意需要一个特定的 "order" 所以我非常担心一个测试在另一个测试之前暗示隔离问题。但是,我不认为我可以按特定顺序告诉 Maven 运行 classes。

我该怎么做才能重现?

编辑

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

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

但即使您的构建在本地失败,由于测试顺序,随机顺序也不是重现失败的最佳选择。如果按字母顺序 运行 时测试全部为绿色,则您可以使构建始终失败 mvn -Dsurefire.runOrder=reversealphabetical clean test

还有几个选项 -- 请参阅 runOrder documentation