为了账号安全,请及时绑定邮箱和手机立即绑定

JUnit如何在xml报告文件中保存DisplayName

JUnit如何在xml报告文件中保存DisplayName

翻阅古今 2021-07-16 14:09:15
我想生成包含已执行测试信息的 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. 有人可以帮我以我想要的方式显示/保存它吗?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 210 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信