Maven Junit+;Surefire未运行相同数量的测试用例

Maven Junit+;Surefire未运行相同数量的测试用例,maven,jenkins,junit,maven-surefire-plugin,Maven,Jenkins,Junit,Maven Surefire Plugin,我已经为junit安装了maven的surefire插件。我用以下代码设置了一些测试套件(剥离以保护无辜者): 然而,当jenkins运行这些测试时,结果是相当多变的。有时它运行70个测试。有时68,有时30。有谁能提出一个原因来解释为什么在测试运行实际完成之前就退出测试运行?正如您在这里看到的,我们有72个高测试,44个低测试,最后一次运行67个测试。测试的数量没有改变 查看您的要点,我可以看到在两个会话中执行不同的测试类: Succesful Output File from Jenkins

我已经为junit安装了maven的surefire插件。我用以下代码设置了一些测试套件(剥离以保护无辜者):

然而,当jenkins运行这些测试时,结果是相当多变的。有时它运行70个测试。有时68,有时30。有谁能提出一个原因来解释为什么在测试运行实际完成之前就退出测试运行?正如您在这里看到的,我们有72个高测试,44个低测试,最后一次运行67个测试。测试的数量没有改变


查看您的要点,我可以看到在两个会话中执行不同的测试类:

Succesful Output File from Jenkins
##Succesful run here.  
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running com.company.qa.guiauto.test.regression.contentcenter.TestClass1


我找到了问题所在

这是一个在最新版本的Surefire(2.17)中修复的问题


升级我们的Surefire版本修复了它。

1)jenkins日志怎么说?2) 也许是个愚蠢的问题,但是有人忽略了一些失败的测试吗?Jenkins日志看起来基本相同,除了缺少的测试。没有@Ignored测试您可以检查包含72个测试的构建,以确定额外的测试是什么。如果某些测试执行两次,那么可能是一个bug。您可以从命令行运行测试,以查看该行为是否持续。您还可以注意到任何版本的修订ID!=70个测试,在VCS中检查该版本,并仔细比较正在执行的测试列表与项目中的实际测试(枯燥但有用)。您还可以手动将测试次数减少到合理的小数目(~10?),以简化此过程。没有任何异常可以解释测试突然停止?您是否只有JUnit3或4或两者的组合?您是否尝试过使用-X执行maven以查看是否使用了正确的插件和依赖项?请参阅输出代码段的要点…注意一个测试运行4,而另一个测试运行1
Succesful Output File from Jenkins
##Succesful run here.  
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running com.company.qa.guiauto.test.regression.contentcenter.TestClass1
Unsuccessful output file
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running com.company.qa.guiauto.test.regression.test.TestClass1