在Junit中多次调用单次测试

时间:2011-04-11 08:23:41

标签: java unit-testing junit

我正在读取testname,预期结果,xml文件中的参数等输入,并依赖于输入(testname),多次调用相应的testmethod。例如

public void test_calc()  throws Exception{
    ............
    .......
    if(testName.equalsIgnoreCase("addition")){                
        addition(table, expectedResult);                             
    }
    else if(testName.equalsIgnoreCase("multiplication")){           
        multiplication(table, expectedResult);                
    }

    else if(testName.equalsIgnoreCase("substraction")){
        substraction(table, expectedResult);    
    }   

我多次调用同一个方法取决于XML输入。我正在使用ANT来运行这个Junit测试并且所有测试都正确执行。但是在报告中它显示为testname test_calc 的单个测试而不是添加,乘法等。我想得到报告每次测试都有通过/失败的结果。有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

这是JUnit报告的设计方式。每个测试用例(==测试方法报告一次)。

通过定义单独的方法,您可以获得单独的报告。您不需要测试用例的“名称”进行报告。该名称纯粹是附加到测试类或套件的可读名称。 这是编写测试用例的方法:

public void testAddition {
  addition(table, expectedResult);
}
public void testMultiplication {
  multiplication(table, expectedResult);
}
public void testSubstraction {
  substraction(table, expectedResult);
}