boost::test,junit XML 输出

发布于 2024-12-20 04:34:14 字数 249 浏览 0 评论 0原文

我选择一个 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

-残月青衣踏尘吟 2024-12-27 04:34:14

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

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

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

这将生成 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:

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

This will generate a reports.xml file in JUnit format. The log_level=all is for loading all details of the tests.

太阳哥哥 2024-12-27 04:34:14

很多时候,测试可能会将日志发送到 stderr/stdout。如果只需要 JUNIT 格式来记录,我们可以使用 --logger 选项

./test --logger=JUNIT,all,reports.xml

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

./test --logger=JUNIT,all,reports.xml
飘然心甜 2024-12-27 04:34:14

您需要实现自定义报告格式化程序(实现接口 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文