我在某些类中有TestNG测试,它扩展了相同的主类。
我需要对class1和class2进行相同的最后一次测试,但如果我将@Test(priority = 666)
添加到主类,它将在所有类之后启动。
我应该如何在主类中注释@Test
在每个类的所有测试之后它会启动什么?
非常感谢。也很抱歉英语不好。
主要班级
public class MainTest {
@BeforeClass()
public void setup() {
//something
}
@AfterClass()
public void tearDown() {
//something
}
@AfterMethod()
public void log_writer(Method method) {
//something
}
@Test(priority = 666) {}
}
的Class1
public class Class1 extends MainTest {
@Test
public void test1(){}
@Test
public void test2(){}
}
和class2
public class Class2 extends MainTest {
@Test
public void test1(){}
@Test
public void test2(){}
}
答案 0 :(得分:1)
您正在寻找的是@AfterClass注释。处理要在AfterClass注释方法中检查日志的部分
答案 1 :(得分:0)
这是不可能的。基本上每个@Test
只运行一次。如果您需要在每个测试类之后执行某些操作,则必须在@AfterClass
中对方法使用MainTest
注释。您可以在MethodInterceptor(http://testng.org/doc/documentation-main.html#methodinterceptors)中使用方法顺序等执行一些操作,但这种情况并不是一个好主意。