要按列表中的每个元素运行jUnit测试,可以使用JUnit的Parameterized runner。下面是一个示例代码:
首先,创建一个测试类,用于定义要测试的方法,并使用@RunWith(Parameterized.class)
注解指定使用Parameterized runner运行测试。
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
import java.util.Arrays;
import java.util.Collection;
@RunWith(Parameterized.class)
public class MyParameterizedTest {
private int number;
private boolean expectedResult;
public MyParameterizedTest(int number, boolean expectedResult) {
this.number = number;
this.expectedResult = expectedResult;
}
@Parameters
public static Collection
在上面的示例中,我们定义了一个MyParameterizedTest
类,并在构造函数中接收两个参数:number
和expectedResult
。在@Parameters
注解的data()
方法中,我们返回一个包含测试参数的集合。
然后,在testIsEven()
方法中,我们创建了一个MyClass
实例,并调用isEven()
方法进行测试。使用assertEquals()
方法来比较实际结果和预期结果是否相等。
接下来,我们可以运行这个测试类来执行每个参数的测试。
请注意,上述示例使用了JUnit 4的语法。如果您使用的是JUnit 5,请使用@ExtendWith(Parameterized.class)
注解替代@RunWith(Parameterized.class)
注解。
下一篇:按列表中的值进行分组