使用Jenkins和boost.test单元测试

问题描述:

我在这方面做了一些Google搜索,并发现许多关于让Jenkins理解boost.test的XML输出格式的讨论,但没有规范的参考。使用Jenkins和boost.test单元测试

有人说我们只需要使用XLST来转换XML格式,其他人则认为XML在这之前需要一些黑客(Anyone have an XSL to convert Boost.Test XML logs to a presentable format?)。有人建议xUnit插件can原生理解boost.test XML格式,其他state it can't

因为我的搜索结果跨度5年,我意识到事情可能已经改变。所以我正在寻找最新回答关于使用Jenkins运行和评估增强单元测试的最佳方法。

+1

正如我所说的,最新的是这里的关键...请不要自动点击“重复按钮”为一个2岁的问题,除非你确定这仍然是最新的信息。 – 2013-05-14 08:01:00

+0

你有没有想过xUnit插件是否可以解析它?你有没有想过使用链接问题中的xslts? – 2013-05-14 08:19:51

+0

如果一些旧的方式仍然有效,这不会是新闻,但这并不意味着它是最好的方式。 – 2013-05-14 08:30:31

xUnit解析适用于我使用Jenkins 1.498,xUnit 1.52,boost 1.42。我有一个使用boost 1.53的新项目,并且XML输出格式似乎与我所有的人为错误倾向相同,但由于我尚未在Jenkins中设置单元测试,因此我不是100 %确定输出是兼容的。

正如xUnit plugin comments建议,我与运行加速测试程序:

run_test --log_format=XML --log_sink=results.xml --log_level=all --report_level=no 

我有我的生成后的xUnit步配置解析results.xml与BoostTest-1.x的格式。

如果您仍然遇到问题,或许您可以更新您的问题,并提供更多关于您的版本以及如何生成测试输出的详细信息。

+0

辉煌 - 这完全取决于传递给测试.EXE的参数。精美的作品。 – 2013-05-16 10:58:29

+0

你还应该加上'--result_code = no'。请参阅@安东尼的答案 – 2016-08-10 15:34:34

+0

这不再是一个好的答案,当我刚测试时不再工作。只需使用现在支持的“--log_format = JUNIT”即可。 – Freitags 2018-03-08 17:15:37

run_test --log_format=XML --log_sink=results.xml --log_level=all --report_level=no --result_code=no 

我添加了一个参数戴夫巴切尔的答案,因为显然升压试验使用非零退出代码来表示测试失败,但詹金斯解释这是一个更根本的失败,从而阻止不处理测试结果。

exit 201 
Build step 'Execute Windows batch command' marked build as failure` 
+0

你应该发表评论给Dave Bacher的答案,而不是创建一个新的答案。 – 2015-02-20 12:14:10

+1

如果我有相关的评论权限,那也是我的偏好。 – Antony 2015-02-20 12:57:31

好吧,通常它可以使用这个选项。但是,如果您在大型项目中使用它,并且XML文件变得太大,则XUnit插件不再适用。 所以我不得不将log_level更改为test_suite。只记录错误,成功的检查不记录。