我在3个不同的类中定义了3个测试
1级@测试1
2级@测试2
3级@测试3
我已经创建了另一个类“类浏览器”,其中我正在创建不同的浏览器驱动程序
现在我想从browsers类中调用@test1、2和3,以便在不同的浏览器中执行这些测试
以下方法正确吗?
Class Browsers
{
public static Class1 A =new Class1()
public static Class2 B =new Class2()
public static Class3 C =new Class3()
@Test
public void createCromeDriver(){
A.Test1
B.Test2
C.Test3
}
@Test
public void createIEDriver(){
A.Test1
B.Test2
C.Test3
}
}
(在上面的场景中,我将属于其他类的测试调用到另一个拥有自己测试的类中。)
1条答案
按热度按时间zbwhf8kr1#
虽然它确实运行所有测试,但它假设您只想知道每个驱动程序的一个测试失败。如果这三个ie测试都失败了,你想三次失败,这样你就可以一次知道这一切了吗?我会的。
为了解决这个问题,可以使用参数化的junit测试。这样就可以编写这样的代码。junit将使用每个参数调用每个测试。在我的示例中,它使用ie浏览器运行这两个测试。您可以向browsers()方法添加任意数量的驱动程序,让它用这些浏览器中的每一个调用这两个测试。