如何使用 JUnit 和 Maven Surefire 插件向测试用例添加数据

How to add data to testcase with JUnit and Maven Surefire Plugin

我有一个带有 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 写入这些括号的常用方法以及如何向其中添加更多数据吗?

顺便说一句,用这些词搜索文件没有帮助。在我的项目中找不到任何东西。

提前致谢

您不能将自定义消息添加到 maven-surefire-plugin 生成的 XML 报告中。您可以获得的最接近的方法是配置此插件以将您的 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(...) 的任何调用都会被重定向到此文件。