我有两个不同的测试类:
public class Class A{
@BeforeMethod
public void beforeEachMethod(){
//}
@Test(groups = "Login")
public void testA(){
//}
}
@public class Class B{
@Test(dependsOnGroups = "Login")
public void methodB(){
//}
}
但是现在只为A类中的方法调用@BeforeMethod。即使B类中的方法成功运行,也不会为B类中的方法调用它。
我希望在B类中的方法中调用公共类A中的@BeforeMethod。
我希望@BeforeMethod只存在于A类中,我会有其他几个类,如B类,C类,D类等。是否有可能为所有其他类调用一个@BeforeMethod ?
答案 0 :(得分:2)
方法beforeEachMethod()
属于类A
,因此仅在执行类A
中的测试时才会运行。如果您希望它在每次测试之前运行,您可以使用该方法创建一个抽象基类,并让每个测试类都从它继承
public class TestCase {
@BeforeMethod
public void beforeEachMethod() {
}
}
public class A extends TestCase {
@Test(groups = "Login")
public void testA() {
}
}
public class B extends TestCase {
@Test(dependsOnGroups = "Login")
public void methodB() {
}
}