我想生成包含已执行测试信息的 XML 报告文件。以前我@Rule在 JUnit4 中使用如下所示,但现在我想显示注释或一些简短的描述而不是 testName。经过一些研究,我发现@DisplayNameJUnit5 似乎适合我的需求。现在我必须更新 my@Rule以显示@DisplayName内容而不是testName[number].className. 测试是用 JUnit 类编写的,具有以下结构@Test@DisplayName("This text should be displayed as name")public void testy1() {...}为了显示运行测试的结果和名称,我使用以下方案创建了新规则@Rulepublic TestRule watchman = new TestWatcher() { @Override public Statement apply(Statement base, Description description) { return super.apply(base, description); }@Overrideprotected void succeeded(Description description) { try { junitWriter.write("\n <test>" + "\n <name>" + description.getDisplayName() + "</name>" + "\n <result>.. + "\n <message>.. + "\n </test>"); } catch [..] }@Override protected void failed(Throwable e, Description description) { //same scheme with error }}要开始我运行的测试Result result = JUnitCore.runClasses(mainSuiteClassCreatingReport);System.out.printf("Test ran: %s, Failed: %s%n", result.getRunCount(), result.getFailureCount());在生成的 XML 文件而不是“DisplayName”注释中,我不断收到methodName[number].className. 有人可以帮我以我想要的方式显示/保存它吗?
添加回答
举报
0/150
提交
取消