在JUnit中,可以使用@RunWith(Parameterized.class)
注解和@Parameters
注解来传递类。
首先,创建一个测试类,并在类上添加@RunWith(Parameterized.class)
注解。然后,创建一个公共的静态方法,使用@Parameters
注解来标记该方法。该方法应该返回一个Collection
对象,其中包含了要传递的测试数据。
接下来,在测试类中创建一个构造函数,用于接收传递的测试数据。同时,为每个测试数据创建相应的实例变量。
最后,在测试方法中使用实例变量进行测试。
下面是一个示例代码:
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 MyClassTest {
private int input;
private int expected;
public MyClassTest(int input, int expected) {
this.input = input;
this.expected = expected;
}
@Parameters
public static Collection<Object[]> data() {
return Arrays.asList(new Object[][]{
{1, 2},
{2, 4},
{3, 6}
});
}
@Test
public void testMultiply() {
MyClass myClass = new MyClass();
int result = myClass.multiply(input);
assertEquals(expected, result);
}
}
在上面的示例中,MyClassTest
是要测试的类。data()
方法返回一个包含测试数据的Collection
对象。在MyClassTest
的构造函数中,接收传递的测试数据,并为每个测试数据创建相应的实例变量。在testMultiply()
方法中,使用实例变量进行测试。
这样,当运行JUnit测试时,会自动使用@Parameters
注解标记的方法来传递测试数据,并执行相应的测试方法。
领取专属 10元无门槛券
手把手带您无忧上云