我正在尝试将Jira JUnit 集成的测试管理移植到 JUnit5。此模块生成测试运行的 JSON 报告,并使用测试方法上的注释将结果与 Jira 票证相关联,例如。
从 TestExecutionListener 我不确定检索 TestCase 注释的最佳方法是什么。
我使用 TestIdentifier.getSource 查看了反射,并进行了操作以重建方法签名并从那里提取注释,但这种方法感觉很笨拙。
我遇到了这篇文章Allow extensions to register TestExecutionListeners,它提出了以下建议:
建议:让您的扩展发布 WebDriver bean 的会话 id,例如
String sessionId = ...;
extensionContext.publishReportEntry("webDriverSessionId", sessionId)
在您的TestExecutionListener 中,实现reportingEntryPublished 并将其存储在以TestIdentifier 作为键的Map 中。在 executionFinished 中报告测试结果以及来自此 Map 的值。
这种方法看起来很有希望,但我想确保没有另一种方法不需要扩展和测试执行侦听器。有没有办法直接在TestExecutionListener中检索测试方法注解信息?