使用Jenkins和boost.测试单元测试
Using Jenkins with boost.test unit tests
我在这方面做了一些谷歌搜索,发现很多关于让Jenkins理解boost的讨论。test的XML输出格式,但没有规范引用。
有些人说我们只需要使用XLST来转换XML格式,另一些人则认为在此之前需要对XML进行一些修改(任何人都有转换Boost的XSL)。将XML日志测试为可呈现的格式?)。有些人认为xUnit插件本身可以理解boost。测试XML格式,其他人说不能
因为我的搜索结果跨越了5年,我意识到事情可能已经改变了。所以我正在寻找一个最新的关于使用Jenkins运行和评估boost单元测试的最佳方法的答案。
xUnit解析工作为我使用Jenkins 1.498, xUnit 1.52, boost 1.42。我有一个使用boost 1.53的新项目,XML输出格式在我看来是一样的,但由于我还没有在Jenkins中设置单元测试,所以我不能100%确定输出是兼容的。
根据xUnit插件注释中的建议,我正在运行Boost测试程序:
run_test --log_format=XML --log_sink=results.xml --log_level=all --report_level=no
我将构建后的xUnit步骤配置为使用BoostTest-1解析results.xml
。x格式。
如果你仍然有问题,也许你可以用更多关于你的版本和你如何生成测试输出的细节来更新你的问题。
run_test --log_format=XML --log_sink=results.xml --log_level=all --report_level=no --result_code=no
我在Dave Bacher的回答中添加了一个参数,因为显然Boost Test使用非零退出代码来指示测试失败,但Jenkins将其解释为更基本的失败,因此在不处理测试结果的情况下停止。
exit 201
Build step 'Execute Windows batch command' marked build as failure`
好的,通常情况下,它与这个选项一起工作。但是,如果您在大型项目中使用它,并且XML文件变得太大,XUnit插件就不再工作了。所以我必须将log_level更改为testronguite。只有错误被记录,成功的检查不被记录。
- 有什么好的方法可以让系统调用代理允许在单元测试中进行模拟
- 在子目录中使用target_sources()命令时用于单元测试(qtest)的项目结构
- VC++本机单元测试,找不到调试符号
- 用于交叉编译和CMake的预处理器宏的单元测试
- C++ 用于单元测试的模板模板
- 提升 1.64 单元测试编译失败
- 单元测试欧拉到四元数实现失败
- 运行 C++ 单元测试时LNK2005链接错误
- 禁用自动捕获 Googletest 单元测试中的C++异常
- 有没有办法在不使用 #ifdef 的情况下不编译发布版本中的单元测试函数体?
- 使用 Google Test 对自定义断言函数进行单元测试
- 如何将我的 CMake 项目配置为运行所有单元测试?
- 在Qt C++单元测试中动态加载QQuickWindow而不是QQuickWidget
- MS 本机单元测试 - 断言::线程失败不起作用
- 如何获取 CMake 单元测试的相对路径?
- QTimer 超时不会在单元测试中触发
- 如何在提升构建中设置环境变量以进行提升单元测试框架?
- 在 AtMega32a 上运行的C++的单元测试
- 使用cmake构建google测试单元测试时出现链接器错误
- 使用Jenkins和boost.测试单元测试