我有一个实现 IInvokedMethodListener 的 TestNG 侦听器。在@BeforeMethod 上,我需要设置一些测试上下文,示例如下:
public class ThucydidesInvokedMethodListener implements IInvokedMethodListener2 {
public void beforeInvocation(final IInvokedMethod method, final ITestResult testResult) {
boolean areBeforeMethods = method.getTestMethod().getTestClass().getBeforeTestMethods().length > 0;
if ((areBeforeMethods && method.getTestMethod().getTestClass().getBeforeTestMethods()[0] == method.getTestMethod()) ||
!areBeforeMethods && method.isTestMethod()) {
final ThucydidesTestContext context = new ThucydidesTestContext(testResult);
testResult.setAttribute(contextKey(), context);
context.before();
}
}
但我还需要一个将在 BeforeMethod 之后执行的测试名称,以便在报告中使用此测试名称。这可能使用TestNG吗?我还尝试了另外具有 ITestContext 的 IInvokedMethodListener2,但它也没有提供测试名称。