我正在使用 Spirtest JUnit 集成库。它对我的正常测试用例工作正常,测试结果按预期传输到 SpiraTest。
现在,我正在添加参数化测试,这是 JUnit 4 的一个特性。当我将 SpiraTest 注释添加到参数化测试中,并使用 SpiraTest 自动化测试集成指南中记录的 Main 类运行它时,它会失败。我收到以下错误消息: java.lang.NoSuchMethodException: org.test.FibonacciTest.test0
SpiraTest JUnit 集成库是否支持参数化测试?如果是,我如何将参数化测试与 SpiraTest JUnit 集成库一起使用?
这是我的代码,可让您了解我尝试完成的工作:
@RunWith(Parameterized.class)
@SpiraTestConfiguration(url = URL, login = USER, password = PWD, projectId = PROJECT_ID)
public class FibonacciTest {
@Parameters
public static Collection<Object[]> data() {
return Arrays.asList(new Object[][] { { 0, 0 }, { 1, 1 }, { 2, 1 }, { 3, 2 }, { 4, 3 }, { 5, 5 }, { 6, 8 } });
}
private int fInput;
private int fExpected;
public FibonacciTest(int input, int expected) {
fInput = input;
fExpected = expected;
}
@Test
@SpiraTestCase(testCaseId=21966)
public void test() {
assertEquals(fExpected, compute(fInput));
}
private int compute(int fInput2) {
return 1;
}
}
这是主要课程:
public class SpiraApplicationMain {
public final static String URL = "";
public final static String USER = ";
public final static String PWD = "";
public final static int PROJECT_ID = 0;
/**
* Entry point for command line execution
*
* @param args
* The command line arguments
*/
public static void main(String[] args) {
// Instantiate the JUnit core
JUnitCore core = new JUnitCore();
// Add the custom SpiraTest listener
core.addListener(new SpiraTestListener());
// Finally run the test fixture
core.run(FibonacciTest.class);
}
/**
* Entry point for JUnit 4.x runners
*
* @return Handle to the test framework
*/
public static junit.framework.Test suite() {
return new JUnit4TestAdapter(FibonacciTest.class);
}
}