gpt4 book ai didi

java - 如何在 Maven surefire 中查看逐个测试标准输出/标准错误

转载 作者:行者123 更新时间:2023-11-30 08:54:03 24 4
gpt4 key购买 nike

我在 Maven 中运行了一个基于 JUnit 的测试套件,总共进行了大约 200 个测试。许多生成 Log4J DEBUG 或 ERROR 行,我看到它们全部混入我的 surefire-reports 目录中的一个长文件中。

我想查看按测试划分的所有这些输出,这样我就可以发现哪些测试产生了哪些输出。我该怎么做?

最佳答案

最直接的解决方案是在每个测试的开始和结束时调用以下方法:

static void printBeginning(PrintStream stream) {
String methodName = Thread.currentThread().getStackTrace()[0].getMethodName();
stream.format("---- Beginning Test: %s ----%n", methodName);
}

但是,如果您想使用 surefire,方法是编写您自己的自定义 RunListener :

基本上,在 Maven 中分配 RunListener,如 this documentation

<plugins>
[...]
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<properties>
<property>
<name>listener</name>
<value>com.mycompany.MyResultListener,com.mycompany.MyResultListener2</value>
</property>
</configuration>
</plugin>
[...]
</plugins>

然后代码将由 Surefire 运行。

您可以在此处阅读有关如何执行此操作的更多信息:Using JUnit RunListener with Maven

关于java - 如何在 Maven surefire 中查看逐个测试标准输出/标准错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29568466/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com