C++ cpp的代码覆盖率
[我对VisualStudio环境非常陌生。在与VisualStudio合作2-3天后,我对它有了一些了解。] 嗯。我在一个测试团队工作。我只想为VisualStudio2010中开发的cpp代码设置一个代码覆盖率。我只想问两个疑问 1.我的公司购买了visual studio 2010 ultimate edition,使用该版本,我能够为使用visual studio中的C++ cpp的代码覆盖率,c++,visual-studio-2010,gcc,code-coverage,jenkins-plugins,C++,Visual Studio 2010,Gcc,Code Coverage,Jenkins Plugins,[我对VisualStudio环境非常陌生。在与VisualStudio合作2-3天后,我对它有了一些了解。] 嗯。我在一个测试团队工作。我只想为VisualStudio2010中开发的cpp代码设置一个代码覆盖率。我只想问两个疑问 1.我的公司购买了visual studio 2010 ultimate edition,使用该版本,我能够为使用visual studio中的测试项目模板创建的示例测试项目(.dll)生成代码覆盖率 这里的问题是,开发人员使用 cppunit作为.exe。那么,我
测试项目
模板创建的示例测试项目(.dll)
生成代码覆盖率
这里的问题是,开发人员使用
cppunit作为.exe
。那么,我是否能够获得的代码覆盖率
一个.exe
(启用探查器)也使用通常的方法获取
visual studio ultimate edition中的代码覆盖率。或者我应该问一下
让他们使用微软的单元测试来编写单元测试
框架(即.dll)。我只是不能简单地说去做,我需要展示
他们是这样做的真正理由
2.我的第二个想法是,有更多的开源工具可以为使用gcc或g++编译的cpp获取代码覆盖率。因此,我考虑使用g++编译cpp代码,并使用开源工具来获得代码覆盖率。这是个好主意吗
当我和一位高级开发人员分享这个想法时,他说有很多
更多的cpp代码设计为特定于MSDN,你不能用这种方式。如果
如果你想这样做,你应该使代码跨平台兼容,或者
便携式[我不懂的东西]
所以这里是最后一件事,我试图向他们展示一个即时解决方案,使用我们拥有的VisualStudioUltimate版本获得代码覆盖率。之后,我会在不购买任何付费工具(如ncover、squish coco、bullseye coverage等)的情况下寻找实现这一目标的最佳方法,所以我选择了上述第二种选择。我的最终目标是在Jenkins中显示最终报告,以便每个人在构建过程后都能看到它,而无需任何手动干预[我想使用visual studio是不可能的]。 jenkins有一个名为MSTestRunner插件的插件,它可以生成单元测试报告,但不能生成覆盖率报告 我想我已经说清楚了。如果这是一个重复的问题,请提及我的链接。提前感谢 我忘了说这个,我还找到了一个叫做vcxproj2cmake的工具,我想从名字本身就可以看出来。因此,如果我使用这个工具生成一个与实际vcxproj对应的cmake,我是否能够得到我的第二个选择 注意: 至于现在,我创建了一个测试项目(比如说,SampleTestProject),正如方法1中所说,它已经 只有一种测试方法(比如说,TestMethod),它反过来会触发所有编写的单元测试 通过以下提到的方法使用CPPFUnit
.exe
(他们已经编写了cppunit单元测试)作为.dll
以类似它的特定格式制作
应该包含一个名为TestInitiator的类,该类包含
CppUnit::TextUI::TestRunner
(触发
CPP单元测试,理想情况下,应提供此方法,以便触发CPP单元测试,并使用套件中定义的所有测试方法通过这种方式,代码覆盖率得到了很大的提高,对代码的修改非常少。希望您喜欢 据我所知,你不能在VisualStudio中使用GCC或G++。谢谢你的评论,兄弟,不是在VisualStudio中,而是通过命令行这样一种独立的方式。我这么说是因为源代码没有正确更改。@enedil我很确定您可以。Visual Studio应该能够使用其他编译器,即使只是通过插件。我的问题有什么解决方案吗?仅供参考,较新版本的Visual Studio附带了一个新的测试运行程序,允许第三方集成到Visual Studio中。免责声明,我受雇于微软