我有许多 TestNG 测试类,它们都扩展了一个基类AbstractIntegrationTest
。在超类中,我有一个commonAfterMethod
方法,它在每个测试方法之后调用并执行一些清理。
我想要在这种方法中根据测试结果做一些事情,例如,如果测试失败,我想将测试数据转储到文件中以供进一步调查。问题是我需要完全这样做,commonAfterMethod
因为它会对数据库执行回滚,之后数据会丢失。
谢谢
也许你可以用一个测试监听器来代替?请参阅ITestListener和IInvokedMethodListener。
在 afterMethod 方法中传入 ITestResult 对象。
@AfterMethod()
public void afterMethod(ITestResult result){
if(!result.isSuccess()){
//Do stuff here if it failed
}
}