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

Java 在@AfterMethod中的TestNG中,我如何知道测试结果?,java,testing,listener,testng,Java,Testing,Listener,Testng,我有许多TestNG测试类,它们都扩展了一个基类AbstractIntegrationTest。在超类中,我有一个mehodcommonAfterMethod,它在每个测试方法之后被调用,并执行一些清理 我想在这种方法中根据测试结果做一些事情,例如,如果测试失败,我想将测试数据转储到文件中以供进一步调查。问题是,我需要在commonAfterMethod中准确地执行此操作,因为它对数据库执行回滚,之后数据将丢失 Thanx也许你可以用一个测试监听器来代替?请参见和。在afterMethod中传入

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

我想在这种方法中根据测试结果做一些事情,例如,如果测试失败,我想将测试数据转储到文件中以供进一步调查。问题是,我需要在
commonAfterMethod
中准确地执行此操作,因为它对数据库执行回滚,之后数据将丢失


Thanx

也许你可以用一个测试监听器来代替?请参见和。

在afterMethod中传入ITestResult对象

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