TestNG 一测二 类

TestNG one test for two classes

我在某些 classes 中进行了 TestNG 测试,它们扩展了相同的主要 class。 我需要对 class1 和 class2 进行相同的最后一次测试,但是如果我将 @Test(priority = 666) 添加到主 class 它会在所有 class 之后开始。 我应该如何在 main class 中注释 @Test 在每个 class 的所有测试之后它将开始什么?

非常感谢。也抱歉英语不好。

主要class

    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(){}  
    }

您正在寻找的是@AfterClass 注释。在 AfterClass 注释方法中处理要检查日志的部分

这不可能。基本上每个 @Test 只运行一次。如果您需要在每次测试 class 后做一些事情,您必须在 MainTest 中的方法上使用 @AfterClass 注释。您可以在 MethodInterceptor (http://testng.org/doc/documentation-main.html#methodinterceptors) 中使用方法顺序等进行一些 hack,但这不是这种情况的好主意。