maven-2 – 如何使用JUnit 4向surefire日志写入内容

是否有可能从测试内部写一些东西到surefire-reports / MyClass.txt?任何记录器等? TestNG中有一个Reporter:

  Reporter.log("Something here");

并且该消息显示在报告中的测试方法下. JUnit中有类似的东西吗?

最佳答案 在Eclipse中运行或通过Hudson运行时,我很幸运在junit中使用log4j进行这种设置.这可能不适用于您正在使用的测试/运行者/ IDE的组合,因为这对我来说并不适用于所有情况.您可能需要调整forkMode.您还必须对路径进行硬编码.

<plugin>
  <artifactId>maven-surefire-plugin</artifactId>
  <configuration>
    <forkMode>never</forkMode>
    <systemProperties>
      <property>
        <name>log4j.configuration</name>
        <value>file:src/test/resources/log4j.xml</value>
      </property>
    </systemProperties>
  </configuration>
</plugin>

另一种可能是使用redirectTestOutputToFile将stdout转储到surefire报告文件.没有使用过,所以不知道这对你是否有用.

点赞