当前位置: 首页 > 知识库问答 >
问题:

如何在JUnit5分级测试报告中捕获STDOUT/STDERR?

南门烈
2023-03-14
@Test
void testToString() {
    System.out.println("Hello world");
    ...
}
<testcase name="testToString()" classname="com.my.company.PairsTest" time="0.008">
<system-out><![CDATA[
unique-id: [engine:junit-jupiter]/[class:com.my.company.PairsTest]/[method:testToString()]
display-name: testToString()
]]></system-out>
</testcase>

我正在使用org.junit.platform:junit-platform-gradle-plugin:1.0.0-M3org.junit.jupiter:junit-jupiter-{api,engine}:5.0.0-M3

共有1个答案

华子昂
2023-03-14

正如Marc Philipp提到的,目前JUnit5中不支持将输出捕获到STDERR或STDOUT中,无论是在平台中还是在Jupiter中。

如果您想要这样的特性,请在这里提出一个问题:https://github.com/junit-team/junit5/ispuses

更新(2017.11.01)

 类似资料:
  • 问题内容: 如何在Go测试中捕获或抑制stdout? 我正在尝试自学go(lang)测试。在下面的代码中,myshow.LoadPath将大量信息输出到stdout(这是正常的副作用)。但是,当我运行“ go test”时,确实会产生非常嘈杂的输出。有没有办法抑制或捕获stdout? 为了进行比较,我正在考虑python世界中的类似问题。http://pytest.org/latest/captu

  • 问题内容: 我写了JUnit5扩展。但是我找不到方法如何获得测试结果。 扩展看起来像这样: 有什么提示如何获得测试结果? 问题答案: 正如其他答案所指出的那样,JUnit会将失​​败的测试与异常进行通信,因此可以使用来了解发生的情况。请注意,这很容易出错,因为以后运行的扩展程序仍可能无法通过测试。 另一种方法是注册自定义TestExecutionListener。不过,这两种方法都有点round回

  • 问题内容: 我有一个程序,在运行过程中有时需要调用python才能执行某些任务。我需要一个调用python并 捕获pythons stdout 并将其放入某个文件的函数。这是函数的声明 我的问题是捕获 给定命令 (pythonInput)的 所有python输出 。我没有使用python API的经验,我不知道执行此操作的正确方法是什么。我尝试过的第一件事是使用Py_run_SimpleStrin

  • 22.13.7.测试报告 测试任务默认生成以下结果. 一份HTML测试报告 一个与Ant的JUnit测试报告任务兼容的XML.这个格式与许多其他服务兼容,如CI serves 结果是有效的二进制,测试任务会从这些二进制结果生成其他结果。 有一个独立的TestReport任务类型会根据一些Test任务实例生成的二进制源码生成一个HTML报告.使用这种测试类型,需要定义一个destinationDir

  • 当运行单元测试的时候,Gradle 会输出一份 HTML 格式的报告以方便查看结果。Android plugin 则将所有连接设备的测试报告都合并到一个 HTML 格式的报告文件中。所有测试结果都以 XML 文件形式保存到 build/reports/androidTests/ 中(类似于 JUnit 的运行结果保存在 build/reports/tests 中)。可以自定义路径: android

  • 5.4 测试报告 当运行单元测试的时候,Gradle 会生成一份 HTML 报告以便于查看测试结果。 Android plugins 在这个基础上扩展了 HTML 报告,以合并所有已连接设备上的测试结果。 5.4.1 单工程报告 在运行测试的时候工程会自动的生成报告,默认位置是: build/reports/androidTests 这和 jUnit 报告的位置 build/reports/tes