我想在每次测试后检查一些外部日志文件,如果在执行过程中出现错误。抛出AfterMethod
中的异常不起作用,因为TestNG对它的处理方式不同:它只会使配置方法失败,而不会使前面的测试失败。如何在AfterMethod中的TestNG中进行测试失败?
我的做法是这样的:
@AfterMethod(alwaysRun = true)
protected void tearDown(ITestResult result) {
if (thereWasAProblemDuringTestExecution()) {
result.setStatus(ITestResult.FAILURE);
result.setThrowable(getSomeThrowableSomebodyStoredAnywhere());
}
// doing other cleanUp-tasks
}
但尽管如此,我的Eclipse TestNG插件说测试通过。
是否有可能(以及如何)在配置方法中失败测试(而不仅仅是配置方法)?
你有可能在java中提供相同的上述代码吗?谢谢! – OverrockSTAR
我试图在java中做以下事情 - 我想要做的是,如果TC失败(我再试两次),然后将它们标记为第一个两个FAILED CASE的SKIP,最后一个也失败,然后将其报告为FAILED。代码:'ITestContext tc = Reporter.getCurrentTestResult()。getTestContext(); \t \t \t tc.getFailedTests()。getAllMethods()。remove(Reporter.getCurrentTestResult()。getMethod()); \t \t \t result.setStatus(ITestResult.SKIP); \t \t \t tc.getSkippedTests()。addResult(result,Reporter.getCurrentTestResult()。getMethod());'pls check – OverrockSTAR