boost::test,junit XML 输出
我选择一个 C++ 单元测试框架 最好的(对我来说)解决方案是 boost::test,因为它进入 boost :)
但有 1 个问题 - 框架必须能够生成 JUnit 格式的 XML 输出,但默认情况下 boost::test 可以生成人类- 可读或自己的 XML 格式
- (据我所知) 我可以编写自己的(自定义)生成器
所以问题是:有人知道让 boost::test 生成 JUnit 格式报告的最快方法吗?
I select a framework for unit tests in C++
The best (for me) solution is boost::test, because it goes in boost :)
But there is 1 problem - the framework must be able to generate XML output in JUnit format, but by default boost::test can generate either human-readable or own XML formats
- (as I understand) I can write my own (custom) generator
So the question: does someone know the fastest way to make boost::test generate reports in JUnit format?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
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)。
Boost 1.62 provides built-in support for the JUnit format (see http://www.boost.org/doc/libs/1_62_0/libs/test/doc/html/boost_test/test_output/log_formats/log_junit_format.html).
您可以通过设置
--log_format=JUNIT
生成 JUnit 格式的 boost 测试结果。如果要运行名为 test 的二进制文件:
这将生成 JUnit 格式的 reports.xml 文件。
log_level=all
用于加载测试的所有详细信息。You can generate results of boost tests in a JUnit format by setting
--log_format=JUNIT
.If you want to run a binary named test:
This will generate a reports.xml file in JUnit format. The
log_level=all
is for loading all details of the tests.很多时候,测试可能会将日志发送到 stderr/stdout。如果只需要 JUNIT 格式来记录,我们可以使用 --logger 选项
Many a times the test could emit logs to stderr/stdout. If one needs only JUNIT format to log we can use the --logger option
您需要实现自定义报告格式化程序(实现接口 results_reporter::format)。接下来,您可以创建格式化程序的实例并将其注册到测试模块初始化函数或全局装置中。
You need to implement custom report formatter (implement interface results_reporter::format). Next you can create an instance of the formatter and register it inside your test module initialization function or global fixture.