junit @Parameters
时间: 2024-09-27 09:10:17 浏览: 27
JUnit是一个流行的Java单元测试框架,它允许开发者组织和运行测试用例。`@Parameters`注解在JUnit中用于数据驱动测试,也就是所谓的参数化测试。当你有一个测试方法需要测试多种输入组合时,可以使用这个注解将数据提供给测试方法。
通过`@Parameters`,你可以创建一个公共静态方法,返回一个数组、列表或其他类型的集合,其中包含一系列的参数对。每个参数对对应一个测试用例。测试方法会接收到这些参数作为输入,并针对每一对参数执行一次。
例如:
```java
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
@RunWith(Parameterized.class)
public class CalculatorTest {
private int a;
private int b;
private int expected;
// 使用 @Parameters 注解的数据源方法
public static Iterable<Object[]> data() {
return Arrays.asList(
new Object[]{5, 2, 7},
new Object[]{0, 0, 0},
new Object[]{-1, 1, -2}
);
}
// 参数化的构造函数
public CalculatorTest(int a, int b, int expected) {
this.a = a;
this.b = b;
this.expected = expected;
}
@Test
public void testAddition() {
assertEquals(expected, calculator.add(a, b));
}
// 测试类需要添加一个Calculator对象实例,这里省略
// ...
}
```
在这个例子中,`testAddition`方法会被分别用传入数据集的每组参数执行一次。
阅读全文