[英]Make jUnit runner run test class multiple times with different parameters
我有一些jUnit4测试类,我想使用注解中传递的不同参数多次运行。 例如,像这样:
@RunWith(MyClassRunner.class)
@Params("paramFor1stRun", "paramFor2ndRun")
class MyTest {
@Test
public void doTest() {..}
}
我认为Runner可以帮助我,但是我不知道如何实现。 你能给个建议吗?
@RunWith(Parameterized.class)
到测试中。 然后,使用所需的参数为您的类创建一个构造函数:
public Test(String pParam1, String param2) { this.param1 = pParam1; this.param2 = pParam2; }
然后,声明一个这样的方法(其中提供了与构造函数相对应的参数数组):
@Parameters public static Collection<Object[]> data() { Object[][] data = {{"p11","p12"},{"p21","p22"}} return Arrays.asList(data); }
您可以进行测试,该测试将针对数组的每一行执行:
@Test public void myTest() { assertEquals(this.param1,this.param2); }
如果使用批注@Parameter(value = N)
,其中N是参数数组的索引,则无需定义构造函数,您可以得到一种更快的方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.