首页 > 解决方案 > 如何使用 JUnit 和 Maven Surefire 插件向测试用例添加数据

问题描述

我有一个正在运行的带有 JUnit 测试的 Maven 项目。Maven Surefire 插件在测试后会删除 xml 文件。除了属性和日志记录之外,这些 xml 文件还包括以下信息:

<testcase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         name="methodNameForTest"
         classname="com.my.test.project.Testclass"
         time="20.931">
  <error type="java.lang.NullPointerException">java.lang.NullPointerException</error>
  </testcase>

有人可以解释一下数据是如何从 JUnit 写入这些括号的常用方式以及如何向其中添加更多数据的吗?

顺便说一句,用这些词搜索文件无济于事。在我的项目中找不到任何东西。

先感谢您

标签: javaxmlmavenjunitmaven-surefire-plugin

解决方案


您不能将自定义消息添加到由maven-surefire-plugin. 您可以获得的最接近的方法是配置此插件以将您的System.out.println()呼叫重定向到文本文件。这是在你的配置pom.xml帮助下redirectTestOutputToFile配置的,如下图:

<build>
<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
            <redirectTestOutputToFile>true</redirectTestOutputToFile>
        </configuration>
    </plugin>
</plugins>
</build>

默认情况下,这将创建target/surefire-reports/<test-name>-output.txt. 来自您的测试的任何调用System.out.println(...)都将被重定向到该文件。


推荐阅读