我有一个测试类,目前使用参数化测试在不同的 URL 上运行每个测试。但是我希望输出的形式是
网址
- 测试 1 失败
- 失败的测试 2
代替
测试
- 失败的 URL 1
- 失败的 URL 2
我可以通过为每个 URL 设置一个单独的类来实现这一点,但是有 300 多个 URL,所以这不是一个真正的选择。除了参数之外,这些类是相同的:
- 有没有办法在 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
关于java - 如何在不同的 URL 上使用 Selenium 和 JUnit 5 运行整个测试套件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50534214/