我为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个测试。测试次数没有变化。
答案 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版本修复了它。