[我对视觉工作室环境非常陌生。在与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。
- 我让开发人员以特定格式将
.exe
(他们已经编写了cppunit单元测试)作为.dll
喜欢它 应该包含一个名为TestInitiator
的类,其中包含CppUnit::TextUI::TestRunner
(触发器的实例) cppunit测试,理想情况下应该存在此方法以触发cppunit测试),并使用套件中定义的所有测试方法。- 此方法由 SampleTestProject 中的上述 TestMethod 调用,从而获取代码覆盖率
醇>
通过这种方式获得代码覆盖率的代码变化非常少。希望你喜欢它!