Junit + Surefire没有运行相同数量的测试用例

时间:2014-04-10 14:48:47

标签: maven jenkins junit maven-surefire-plugin

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

package com.company.qa.guiauto.test.suites;

import com.company.qa.guiauto.test.regression.contentcenter.TestClass1;
import com.company.qa.guiauto.test.regression.contentcenter.TestClass2;
import com.company.qa.guiauto.test.regression.contentcenter.TestClass3;
import com.company.qa.guiauto.test.regression.contentcenter.TestClass4;
import org.junit.runner.RunWith;


import org.junit.runner.RunWith;
import org.junit.runners.Suite;

@RunWith(Suite.class)
@Suite.SuiteClasses({
        TestClass1.class, //20 Junit @Tests
        TestClass2.class, //33 Junit @Tests
        TestClass3.class, //4 Junit @Tests
        TestClass4.class  //13 Junit @Tests
})

public class SomeSuite {
}

然而,当詹金斯运行这些测试时,结果变化很大。有时它运行70次测试。有时68,有时30。有人可以提出一个理由,为什么在实际完成之前这会有可能退出测试运行?正如你在这里看到的,我们有72个高测试,44个低测试,最后67个测试。测试次数没有变化。

TestResult

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

我能够找到问题。

这是一个问题,已在最新版本的Surefire(2.17)中修复了http://jira.codehaus.org/browse/SUREFIRE-1055

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