我有一个有两种方法的类。每种方法都有一个相关的组。
现在我想以这样的方式设置我的testng.xml文件:当测试用例TC1执行时,将调用Method1()然后调用Method2(),当执行测试用例TC2时,Method2()然后执行Method1()将被执行。
我有什么方法可以做到这一点吗?
答案 0 :(得分:0)
您可以将测试用例方法移动到辅助类,然后只需为每个测试用例创建一个测试类,使用测试优先级和/或依赖项定义方法,并调用共享的测试方法代码。 e.g:
public class TestCaseMethods {
public static void method1() { /*...*/ }
public static void method2() { /*...*/ }
}
public class TC1 {
@Test
public void method1() {
TestCaseMethods.method1();
}
@Test(dependsOnMethods = {"method1"})
public void method2() {
TestCaseMethods.method2();
}
}
public class TC2 {
@Test(dependsOnMethods = {"method2"})
public void method1() {
TestCaseMethods.method1();
}
@Test
public void method2() {
TestCaseMethods.method2();
}
}
如果您愿意,也可以使用继承:
public class AbstractTC {
public void method1() { /*...*/ }
public void method2() { /*...*/ }
}
public class TC1 extends AbstractTC {
@Override
@Test
public void method1() {
super.method1();
}
@Override
@Test(dependsOnMethods = {"method1"})
public void method2() {
super.method2();
}
}
public class TC2 extends AbstractTC {
@Test(dependsOnMethods = {"method2"})
public void method1() {
super.method1();
}
@Test
public void method2() {
super.method2();
}
}