如何使用 JUnit 4 向 Surefire 日志写入内容

发布于 2024-09-03 21:14:38 字数 185 浏览 5 评论 0原文

是否可以将测试内部的内容写入 Surefire-reports/MyClass.txt ?任何类型的记录器等? TestNG 中有一个 Reporter:

  Reporter.log("Something here");

并且该消息出现在报告中的测试方法下。 JUnit中有类似的东西吗

Is it possible to write something from inside the test to surefire-reports/MyClass.txt ? Any kind of logger etc ? There is a Reporter in TestNG:

  Reporter.log("Something here");

and the message appears under test method in report. Is there something similiar in JUnit

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

拥有 2024-09-10 21:14:38

在 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 转储标准输出到 Surefire 报告文件。没有使用过,所以不知道这是否适合你。

I had luck using log4j in junit with this kind of set up when running in Eclipse or via Hudson. This may not work with the combination of tests/runners/IDEs you are using, as this doesn't work in all cases for me. You might need to adjust the forkMode. You'll also have to hardcode paths.

<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>

Another might be to use redirectTestOutputToFile to dump stdout to the surefire report file. Haven't used that so no idea if that will work for you either.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文