junit参数化用代码示例表示
时间: 2024-03-17 14:42:50 浏览: 15
好的,以下是一个 JUnit 参数化测试的示例代码:
```java
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import java.util.Arrays;
import java.util.Collection;
import static org.junit.Assert.assertEquals;
@RunWith(Parameterized.class)
public class MyParameterizedTest {
private int input;
private int expected;
public MyParameterizedTest(int input, int expected) {
this.input = input;
this.expected = expected;
}
@Parameterized.Parameters
public static Collection<Object[]> data() {
return Arrays.asList(new Object[][]{
{1, 2},
{2, 4},
{3, 6},
{4, 8}
});
}
@Test
public void testMultiply() {
MyClass tester = new MyClass();
assertEquals(expected, tester.multiply(input));
}
private class MyClass {
int multiply(int x) {
return x * 2;
}
}
}
```
在上面的代码中,我们使用了 `@RunWith(Parameterized.class)` 注解来指定使用 JUnit 的参数化运行器,然后使用 `@Parameterized.Parameters` 注解来指定参数化测试的参数。其中,`data()` 方法返回一个包含多个参数数组的集合,每个数组包含两个元素,分别是输入值和预期输出值。
在测试方法中,我们使用 `assertEquals()` 方法来判断实际输出值是否与预期输出值相等。在每次测试中,JUnit 会自动为我们提供一个参数数组,并将其中的两个元素分别赋值给测试类的实例变量 `input` 和 `expected`,然后执行测试方法,最后输出测试结果。
这样,我们就可以通过一次编写,多次运行测试方法,验证代码在不同情况下的正确性。