Java 如何在maven surefire生成的报告中添加或更改数据?

Java 如何在maven surefire生成的报告中添加或更改数据?,java,maven,maven-surefire-plugin,Java,Maven,Maven Surefire Plugin,我正在尝试为我的工作应用程序为我的老板创建一个报告功能。我正在使用maven surefire和maven surefire报告插件来创建它。到目前为止,我已经能够生成.txt、.xml和.html文件。我看到了一些我想改变的事情: 我想在HTML报告中了解更多信息。我希望能够添加日志消息(log4j),并在报告中显示断言和日志消息。我目前有true可以使用,但它只是在.txt中添加信息,我想尝试排除所有非测试的漏洞。我读到你可以创建一个定制的log4j.properties文件,但是找不到更多

我正在尝试为我的工作应用程序为我的老板创建一个报告功能。我正在使用maven surefire和maven surefire报告插件来创建它。到目前为止,我已经能够生成.txt、.xml和.html文件。我看到了一些我想改变的事情:

  • 我想在HTML报告中了解更多信息。我希望能够添加日志消息(log4j),并在报告中显示断言和日志消息。我目前有
    true
    可以使用,但它只是在.txt中添加信息,我想尝试排除所有非测试的漏洞。我读到你可以创建一个定制的log4j.properties文件,但是找不到更多关于它的内容

  • 我看到了一些奇怪的事情,报告将测试失败计算为他们自己的测试,而不是测试步骤。也就是说,我有一个带有多个断言的测试(boss希望这样),它没有报告这个测试有多个失败,而是将每个失败都显示为自己的测试。我正在使用错误收集器来执行此操作。我只是包装了这个类,使之成为一个专门为我工作的类


  • 我不确定我是否应该在这里包含任何实际的代码片段,所以如果你们需要更多信息,请告诉我。非常感谢

    maven surefire是否使用原始测试输出中未显示的内容?您可以指示记录器打印到标准输出,并将其捕获为测试输出。一个快速的实验可能是添加一个System.out.println调用,看看输出是否在关于第2项的报告中-也许您应该保持原样。这就是为什么测试只应该断言once@Freiheit关于你的第一条评论——我确实有一些sout声明,事实上,它们确实会显示在报告的文本版本中。问题是,控制台中显示的所有其他内容也会被放入报告中,因此报告非常混乱。我同意你的第二点意见,但我相信你的老板对某些事情非常坚持。您个人会将一个测试分成十个(可能是30个)独立的断言测试吗?现在,我只是使用SpringBoot从数据库中提取数据,并断言它是我认为应该的。没什么太重的。因为显示了sout,所以您可能有一个解决方案的路径。您能否将记录器重定向到sout并设置日志记录级别,以便只获得所需的输出?maven surefire是否使用原始测试输出中未显示的任何内容?您可以指示记录器打印到标准输出,并将其捕获为测试输出。一个快速的实验可能是添加一个System.out.println调用,看看输出是否在关于第2项的报告中-也许您应该保持原样。这就是为什么测试只应该断言once@Freiheit关于你的第一条评论——我确实有一些sout声明,事实上,它们确实会显示在报告的文本版本中。问题是,控制台中显示的所有其他内容也会被放入报告中,因此报告非常混乱。我同意你的第二点意见,但我相信你的老板对某些事情非常坚持。您个人会将一个测试分成十个(可能是30个)独立的断言测试吗?现在,我只是使用SpringBoot从数据库中提取数据,并断言它是我认为应该的。没什么太重的。因为显示了sout,所以您可能有一个解决方案的路径。您能否将记录器重定向到sout并设置日志记录级别,以便只获得所需的输出?