我有一个测试类,当前使用参数化测试在不同的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

09-25 18:03
查看更多