C ++ Jenkins QA Stack / Tools

时间:2011-09-01 14:03:10

标签: c++ unit-testing continuous-integration jenkins qa

我们目前正在为您的C ++开发构建 QA堆栈

我们已经运行了多个 Jenkins 实例,并结合其他语言(如java和php)为CI服务器提供了非常好的体验。

我要求的是指向可用于与Jenkins进行C ++开发的工具链的指针。

更具体(大括号中的java / php示例):

  • 测试并生成覆盖率报告的单元测试框架(jUnit / phpUnit)
  • 编码指南检查器(checkstyle / phpCodeSniffer)
  • 找出代码库中潜在问题的PMD(pmd / phpmd)
  • 如果适用/需要更多,但我认为这些将是基础知识吗?

赏金编辑:

虽然我对我的问题得到了可接受的答案,但我被要求提供更多工具/选项/理由来使用Jenkins来完成这个项目。

过去,我在商业工具方面的经验并不理想。 (什么?你想要保存!那些报告?然后你需要购买额外的10k Bucks / Year插件,可以为你制作精美的GRAPHS!)我可能在这里错了所以请告诉我,不管我是谁。

但主要是我正在寻找一整套用于与Jenkins进行C ++开发和QA的工具

3 个答案:

答案 0 :(得分:35)

我们使用Jenkins和C& C ++。这些是我们使用的工具,我认为您可能会觉得有用。所有这些都可用于Jenkins:

  • 单元测试框架 - cppunit:输出xml,可以使用 cppunit插件直接输入Jenkins
  • 覆盖范围:gcov + gcovr可生成良好的覆盖率报告
  • 编码指南检查器:您可以使用 pclint &这个警告插件
  • Mess Detector:不确定你的意思是什么,但是我们使用PMD/CPD进行代码重复检查, NSIQ 用于复杂性和LOC

我们还使用cppcheck进行静态分析。

希望有所帮助!

答案 1 :(得分:11)

我们将 Jenkins googletest单元测试框架一起使用。

  • 测试运行生成符合jUnit的xml。
  • 移植到您可能遇到的大多数编译器。

按照我自己的链接,我发现了这个:

Continuous Code Coverage with gcc, googletest, and Hudson

  

命令的前三行只是执行构建。该   第4行的命令执行我们构建的二进制测试应用程序,   并将测试结果摘要输出到junit格式的XML文件。

     

最后两个命令是神奇的​​地方。这执行   gcovr脚本,一个方便的python脚本,将gcov输出转换为   Cobertura风格的XML文件。

     

然后我们必须告诉hudson搜索构建工作区   junit和coverage xml文件作为构建后操作。现在我们跑的时候   构建我们得到很好的概述图表趋势单元测试结果   和代码覆盖率。

答案 2 :(得分:1)

我目前正在使用插件 xUnit 进行C / C ++项目,到目前为止它一直运作良好。

根据 cppunit 的wikipage,它不再被维护,但已迁移到xUnit(source)。