我有一个测试类,当前使用参数化测试在不同的URL上运行每个测试。但是我希望输出形式为
网址
测试失败1
测试失败2
代替
测试
URL 1失败
URL 2失败
我可以通过为每个URL设置单独的类来实现此目的,但是有300多个URL,所以这不是一个真正的选择。这些类是相同的,除了paremters一样:
如果没有,是否可以在JUnit中执行此操作(本质上是想对整个类进行参数化):
如果没有,log4j能够做到这一点:
如果没有,是否可以在运行时自动创建类:
什么测试框架可以完成此任务,我欢迎任何可以执行此操作的软件
我的问题与此类似:Running same tests against a large number of websites
最佳答案
使用下面的参数化测试类并获得结果。在使用下一个参数之前,将对参数进行所有测试。
@RunWith(Parameterized.class)
public class ParamTest {
@Parameters
public static Object[] data() {
return new Object[] { "google", "yahoo", "facebook" };
}
@Parameter
public String url;
@Test()
public void test1() {
System.out.println("Test 1 - "+url);
}
@Test()
public void test2() {
System.out.println("Test 2 - "+url);
}
}
Test 1 - google
Test 2 - google
Test 1 - yahoo
Test 2 - yahoo
Test 1 - facebook
Test 2 - facebook