Catch2 - 输出到控制台和文件

Catch2 - output to console and file

我可以 运行 使用 -o junit --output catch_results.xml 的 Catch 可执行文件来生成 xml 报告。

有什么方法既可以生成 xml 报告,又可以有控制台输出吗?

假设您要求在文件中输出 JUnit 并在 stdout 中使用标准控制台报告程序,则无法做到这一点。

Catch2 过去支持多个记者,但不支持让他们将输出写入分隔 files/outputs,这意味着该功能无法使用,直到将来某个时候才被删除。

您可以实现自己的 Listener
Listener 可以为某些事件(测试套件 start/end、测试用例 start/end、...)实现 'event handlers'。在这些事件处理程序中,您可以输出到控制台(使用 printf 而不是 cout,因为 cout 可以被测试 运行ner 拦截)。

而且,最重要的是,您的 Listener 可以 运行 与记者结合。

https://github.com/catchorg/Catch2/blob/master/docs/event-listeners.md