如何编写一个可以列出所有测试方法组的 TestNG 侦听器?

How to write a TestNG listener that can list all groups of a Test Method?

我的示例testNG方法如下:

@Test(groups = { "regression", "sanity", "TTD-001" })
public void createProject() {
   //Some execution happens
}

我们可以编写一个侦听器 class,它可以给我一个已执行的各个测试的字符串数组 { "regression", "sanity", "TTD-001" } .此处唯一值 TTD-001 已映射到错误跟踪实用程序,该实用程序应根据测试方法的执行状态进行更新。

这可能吗,或者请提出任何其他可能的处理方法?

它可以在没有监听器的情况下直接在你身上完成class:

@AfterMethod
public void afterMethod(ITestContext context)
{
    context.getAllTestMethods()[0].getGroups();
}

或实施 ITestListener,例如

@Override
public void onTestFailure(ITestResult result)
{        
    result.getMethod().getGroups();
}

@Override
...

使用IInvokedMethodListener。在接口中实现 afterInvocation()。 method.getTestMethod().getGroups() 会给你组列表的字符串数组,结果对象会给出调用的结果。