java - 在 Junit 中多次调用单个测试

标签 java unit-testing junit

我正在读取测试名称、预期结果、xml 文件中的参数等输入,并依赖于输入(测试名称),多次调用相应的测试方法。例如

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 测试,并且所有测试均正确执行。但在报告中,它显示为测试名称 test_calc 的单个测试,而不是加法、乘法等。我想获取报告每次测试都运行通过/失败结果。有人可以帮助我吗?

最佳答案

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

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

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

关于java - 在 Junit 中多次调用单个测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5618618/

相关文章:

java - java中的面向对象设计| Libgdx 方法

java - 如何使用 Java 流根据双嵌套列表中的属性过滤集合

c# - 如何使用 XUnit 对 Web API Controller 进行单元测试

android - 使用 LiveData 的 JUnit5 测试不执行订阅者的回调

java - Jasper Reports 中的 Excel 分组依据和大纲

php - 如何在 PHP 中编写单元测试?

angular - NgRx 测试 - 检查分派(dispatch) Action 的顺序

java - 测试线程代码java

java - 如何断言 JsonObject 的两个实例

golang 中的 java RSA/ECB/OAEPWithSHA 256AndMGF1Padding 等价物