我为 C++ 中的单元测试选择了一个框架 最好的(对我来说)解决方案是 boost::test,因为它在 boost 中:)
但是有一个问题 - 框架必须能够生成 JUnit 格式的 XML 输出,但默认情况下 boost::test 可以生成人类可读或自己的 XML 格式
- (据我了解)我可以编写自己的(自定义)生成器
所以问题是:有人知道让 boost::test 以 JUnit 格式生成报告的最快方法吗?
我为 C++ 中的单元测试选择了一个框架 最好的(对我来说)解决方案是 boost::test,因为它在 boost 中:)
但是有一个问题 - 框架必须能够生成 JUnit 格式的 XML 输出,但默认情况下 boost::test 可以生成人类可读或自己的 XML 格式
所以问题是:有人知道让 boost::test 以 JUnit 格式生成报告的最快方法吗?
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)。
您需要实现自定义报告格式化程序(实现接口 results_reporter::format)。接下来,您可以创建格式化程序的实例并将其注册到您的测试模块初始化函数或全局夹具中。
您可以通过设置以 JUnit 格式生成升压测试结果--log_format=JUNIT
。
如果要运行名为 test 的二进制文件:
./test --log_level=all --log_format=JUNIT > reports.xml
这将生成一个JUnit 格式的reports.xml 文件。log_level=all
用于加载测试的所有详细信息。