4

我为 C++ 中的单元测试选择了一个框架 最好的(对我来说)解决方案是 boost::test,因为它在 boost 中:)

但是有一个问题 - 框架必须能够生成 JUnit 格式的 XML 输出,但默认情况下 boost::test 可以生成人类可读或自己的 XML 格式

  • (据我了解)我可以编写自己的(自定义)生成器

所以问题是:有人知道让 boost::test 以 JUnit 格式生成报告的最快方法吗?

4

3 回答 3

3

Boost 1.62 提供了对 JUnit 格式的内置支持(参见http://www.boost.org/doc/libs/1_62_0/libs/test/doc/html/boost_test/test_output/log_formats/log_junit_format.html)。

于 2016-09-29T22:16:18.793 回答
1

您需要实现自定义报告格式化程序(实现接口 results_reporter::format)。接下来,您可以创建格式化程序的实例并将其注册到您的测试模块初始化函数或全局夹具中。

于 2012-05-24T22:43:32.483 回答
0

您可以通过设置以 JUnit 格式生成升压测试结果--log_format=JUNIT

如果要运行名为 test 的二进制文件:

./test --log_level=all --log_format=JUNIT > reports.xml

这将生成一个JUnit 格式的reports.xml 文件。log_level=all用于加载测试的所有详细信息。

于 2020-11-29T01:08:48.183 回答