cpp的代码覆盖率

时间:2014-04-27 13:08:12

标签: c++ visual-studio-2010 gcc code-coverage jenkins-plugins

[我对视觉工作室环境非常陌生。在与visual studio合作2-3天后,我能够获得一些相关知识。]

好。我在一个测试团队工作。我只是想为visual studio 2010中开发的cpp代码设置一个代码覆盖率。我只想问两个疑问

1.我的公司已经购买了visual studio 2010终极版并使用了我能够生成代码覆盖率,以便在visual studio中使用test project (.dll)模板创建样本Test Project

  

这里的问题是开发人员使用了编写测试项目   cppunit为.exe。因此,我将能够获得代码覆盖率   使用常用方法获取.exe(启用PROFILER)   视觉工作室终极版的代码覆盖率。或者我应该问   他们使用微软的单元测试编写单元测试   框架(即.dll)。我不能简单地说这样做,我需要提出   他们是这样做的真正理由。

2.我的第二个想法是,有更多的开源工具来获取使用gcc或g ++编译的cpp的代码覆盖率。所以我想到使用g ++编译cpp代码并使用开源工具来获取代码覆盖率。这是一个好主意吗?

  

当我与一位资深开发者分享这个想法时,他说有很多   更多cpp代码设计为MSDN特定的,你不能这样做。如果   你想这样做,你应该使代码跨平台兼容或   便携式[我无法理解]。

所以这是最后的事情,我试图向他们展示使用我们拥有的visual studio终极版获得代码覆盖的直接解决方案。后来在没有购买任何付费工具如ncover,压扁coco,靶心覆盖等的情况下寻找实现这一目标的最佳方法,所以我选择了上面提到的第二个选项。
我的最终目标是在Jenkins中显示最终报告,以便每个人都能够在构建过程之后无需任何人工干预即可查看[我认为使用可视化工作室无法实现]。 < / p>

jenkins有一个名为MSTestRunner插件的插件,可以生成单元测试报告,但不能生成覆盖率报告。

我想我已经说清楚了。如果这是一个重复的问题,请提及链接。谢谢提前

我忘了说这个我也能找到一些名为vcxproj2cmake的工具我觉得这个名字本身很清楚。因此,如果我使用此工具生成与实际vcxproj相对应的cmake,我将能够进行第二次选择吗?

注意:

  

就目前而言,我创建了一个测试项目(比方说, SampleTestProject ),如方法1所述   只有一种测试方法(以免 TestMethod )反过来触发所有写入的单元测试   通过下面提到的方法使用cppunit。

     
    
        
  1. 我让开发人员以特定格式将 .exe (他们已经编写了cppunit单元测试)作为 .dll 喜欢它     应该包含一个名为 TestInitiator 的类,其中包含      CppUnit::TextUI::TestRunner (触发器的实例)     cppunit测试,理想情况下应该存在此方法以触发cppunit测试),并使用套件中定义的所有测试方法。
  2.     
  3. 此方法由 SampleTestProject 中的上述 TestMethod 调用,从而获取代码覆盖率
  4.        

通过这种方式获得代码覆盖率的代码变化非常少。希望你喜欢它!

0 个答案:

没有答案