在@AfterMethod的TestNG中,我如何知道测试结果?

时间:2009-06-25 12:55:35

标签: java testing listener testng

我有许多TestNG测试类,它们都扩展了一个基类AbstractIntegrationTest。在超类中,我有一个mehod commonAfterMethod,它在每个测试方法之后被调用并执行一些清理。

我想要的是这种方法取决于测试结果,例如如果测试失败,我想将测试数据转储到文件中以供进一步调查。问题是我需要在commonAfterMethod中完全执行它,因为它会对数据库执行回滚,之后数据会丢失。

感谢名单

2 个答案:

答案 0 :(得分:2)

也许你可以用测试监听器做点什么呢?请参阅ITestListenerIInvokedMethodListener

答案 1 :(得分:0)

传入afterMethod方法中的ITestResult对象。

@AfterMethod()
public void afterMethod(ITestResult result){
    if(!result.isSuccess()){
        //Do stuff here if it failed
    }
}