Catch2-输出到控制台和文件

时间:2019-05-21 18:39:12

标签: c++ catch-unit-test

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

是否有某种方式既可以生成xml报告,又可以具有控制台输出?

2 个答案:

答案 0 :(得分:1)

假设您要在文件中提供JUnit输出,并要求在stdout上使用标准控制台报告程序,则没有办法。

Catch2曾经支持多个报告器,但是不支持让它们将输出写入到单独的文件/输出中,这意味着将来是不可用的,并且直到将来某个时候才被删除。

答案 1 :(得分:0)

您可以实现自己的Listener
Listener可以为某些事件(测试套件开始/结束,测试用例开始/结束等)实现“事件处理程序”。在这些事件处理程序中,您可以输出到控制台(使用printf代替cout,因为cout可以被测试运行程序拦截)。<​​/ p>

最重要的是,您的Listener可以与报告程序一起运行。

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