Windows下基于Gtest框架及OpenCppCoverage插件对已有VS项目进行单元测试及代码覆盖率统计
·
环境搭建:
使用的环境:
Windows,VS2019,Gtest,OpenCppCoverage
搭建Gtest:
以航迹项目为例,该项目在visual studio2019上运行,希望利用gtest测试该项目,本章节记录如何在vs2019上利用gtest测试已有项目。
一:安装Gtest测试适配器
二:新建Gtest的测试项目
- 打开已有项目的
sln - 新建
gtest项目 - 选择
gtest - 原项目配置生成lib文件
三:简单测试
选择 简单函数 calabs 进行测试
原代码:
S16 calabs(S16 a)
{
if (a < 0)
{
a = 0 - a;
}
return a;
}
测试代码:
TEST(TestCaseName, TestCalAbs1) {
EXPECT_EQ(1, calabs(-1));
}
测试结果:


四:总结
以上为完整步骤,后续可以调试复杂函数
搭建OpenCppCoverage:
使用OpenCppCoverage插件主要参考文章:https://blog.csdn.net/qq_44177918/article/details/130211834,并结合自身搭建过程,整理该插件的安装使用过程。
安装OpenCppCoverage插件
直接vs扩展中安装相应插件,安装完成后重启vs。

安装完成后,工具栏会增加如下内容:

插件的相关配置
点击 工具->OpenCppCoverage Settings
设置工程路径

设置过滤文件

设置代码覆盖率文档生成路径

单元测试:
简单函数测试
见上文搭建Gtest章节中“三:简单测试”
复杂函数测试
思路是当函数复杂时,函数入参难以设置,考虑使用实车测试数据为材料,如下图,1)为设置使用的文件路径;2)为航迹处理;3)为判断该文件第10帧第1个点信噪比比50大

测试结果:

共执行3个测试case,其中2个成功,1个失败,失败的case是因为上面用例中,点的信噪比为47.51,实际为50。
代码覆盖率统计:
运行OpenCppCoverage插件,提示覆盖率文件保存在如下位置:

打开覆盖率文件,可知各分支代码覆盖情况,左侧为百分比,右侧点开为具体详情。

更多推荐



所有评论(0)