TestNG Custom Reporter 包括测试描述而不是名称

TestNG Custom Reporter include test description instead of name

我想为 TestNG xml 测试结果实现自定义报告器。 我目前使用 JUnitReportReporter。 我的结果 xml 目前看起来像这样:

testcase name="testSearchForProductAndVerifyFirstFoundItem" time="55.516" classname="com.jpard.jaf.test.SearchForAnItemTests"

我只想用测试说明替换测试用例名称 如@Test(description = "Test that first item in the results is the one searched for")。 我怎样才能以最简单的方式做到这一点。 非常感谢!

我想你必须实施 IMethodInterceptor interface which will return a list of method instances , IMethodInstance 然后 从该列表中一一获取所有实例,然后

desc = instance.getMethod().getDescription();

方法getDescription()

看看here

我做的很简单 扩展 JUnitReportReporter class 并覆盖 getTestName 方法以在 xml 报告中显示 方法名称和描述。 class 看起来像这样:

public class CustomReporter extends JUnitReportReporter {

@Override
protected String getTestName(ITestResult tr) {
    return tr.getMethod()
             .getMethodName() + ": " + tr.getMethod()
                                         .getDescription();
}

}

我希望它能帮助任何正在寻找这个问题的人。