junit5 parameterizedtest
时间: 2023-10-05 22:07:38 浏览: 48
Junit5中的ParameterizedTest是一种测试方法,它允许您为同一个测试方法传递不同的参数,并自动运行测试用例多次。这样可以使您更轻松地测试各种不同的输入和边界条件。
下面是一个简单的示例:
```java
@DisplayName("Test Calculator")
class CalculatorTest {
@ParameterizedTest(name = "{index} => a={0}, b={1}, sum={2}")
@CsvSource({
"1, 2, 3",
"3, 4, 7",
"6, 7, 13"
})
void testAdd(int a, int b, int sum) {
Calculator calculator = new Calculator();
assertEquals(sum, calculator.add(a, b));
}
}
```
在此示例中,我们使用@ParameterizedTest注释来标记测试方法,并使用@CsvSource注释来提供测试数据。每个测试数据由一行表示,其中包含要传递给测试方法的参数。在这种情况下,我们使用三个参数:a,b和sum。
@DisplayName注释用于为测试类和测试方法提供名称。
当运行此测试用例时,JUnit将使用提供的测试数据自动运行测试方法三次,并检查每个测试用例的结果是否与预期的结果一致。
总的来说,ParameterizedTest是一个非常方便的方法,可以让您更轻松地测试不同的输入和边界条件,并确保您的代码能够正确处理各种情况。