TestNG套件的自定义方法执行结束

时间:2014-03-04 19:11:13

标签: java eclipse testing testng

我想在所有测试套件执行结束时运行自定义方法,无论是成功还是失败。所以当testNG输出时

测试运行:6,失败:1,错误:0,跳过:0,经过的时间:80.718秒<<<失败! - 在TestSuite中

在此之后,假设我运行了2个IT套件,每个套件包含3个测试方法。所以在运行所有6个案例的最后,我想运行一些自定义方法。我怎样才能做到这一点? 我尝试实现自定义IExecutionListener和IReporter,但每个套件都运行一次。所以对于我的2个IT课程,我会让他们执行两次。 任何人都可以建议每个套件运行一次回调的方法吗?

2 个答案:

答案 0 :(得分:3)

即使javadocs说IsuiteListener的onFinish应该在每个套件运行时执行一次,但我看到它被多次执行。所以我使用了IExecutionListener。下面是我使用的代码。

public class MyReporter implements IExecutionListener {


@Override
public void onExecutionStart() {

}

@Override
public void onExecutionFinish() {

    ReportDownloadUtil.downloadReport();
}



}

答案 1 :(得分:1)

在ISuiteListener接口中尝试onFinish()。根据文档,它在所有套件运行后运行。见here