我有一些jUnit4测试类,我想在注释中传递不同的参数多次运行。例如,像这样:
TokenValidHandler
我认为Runner可以帮助我,但我不知道如何实现它。你能建议吗?
答案 0 :(得分:2)
@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是参数数组的索引,那么在没有定义构造函数的情况下,您可以更快地完成。