参数化测试怎么定义输入java
时间: 2023-05-28 10:03:43 浏览: 54
参数化测试是一种测试方法,它允许将不同的测试数据作为参数传递给同一个测试方法。在Java中,可以使用JUnit框架的@Parameterized注解实现参数化测试。下面是一个示例:
```java
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import java.util.Arrays;
import java.util.Collection;
@RunWith(Parameterized.class)
public class MyParameterizedTest {
@Parameterized.Parameter(0)
public int input1;
@Parameterized.Parameter(1)
public int input2;
@Parameterized.Parameter(2)
public int expectedOutput;
@Parameterized.Parameters
public static Collection<Object[]> data() {
Object[][] data = new Object[][] {
{ 1, 2, 3 },
{ 5, 5, 10 },
{ 10, 20, 30 }
};
return Arrays.asList(data);
}
@Test
public void testSum() {
int actualOutput = input1 + input2;
assertEquals(expectedOutput, actualOutput);
}
}
```
在上面的示例中,@Parameterized注解用于标记测试类。@Parameterized.Parameters注解用于提供测试数据,并返回一个包含Object数组的集合。每个Object数组表示一个测试用例,其中包含输入参数和期望输出。@Parameter注解用于标记测试方法中的参数,并指定它们在数据数组中的索引。测试方法使用这些参数进行测试,并使用assertEquals()方法进行断言。