环境搭建:

使用的环境:
WindowsVS2019GtestOpenCppCoverage

搭建Gtest

以航迹项目为例,该项目在visual studio2019上运行,希望利用gtest测试该项目,本章节记录如何在vs2019上利用gtest测试已有项目。

一:安装Gtest测试适配器

二:新建Gtest的测试项目

  1. 打开已有项目的sln
  2. 新建gtest项目
  3. 选择gtest
  4. 原项目配置生成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插件,提示覆盖率文件保存在如下位置:
在这里插入图片描述

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

更多推荐