【Linux】使用GTest和CuTest编写测试用例,使用GCOV和LCOV测试代码覆盖率

单元测试

一、Google Test

Google Test(简称GTest) 是一个用于 C++ 编程语言的单元测试框架。它是由 Google 开发并开源的一个项目,旨在帮助开发者编写高质量的 C++ 代码。使用 Google Test,开发者可以轻松地为他们的 C++ 应用程序创建测试用例,确保代码的正确性和稳定性。

主要特点
  • 支持多种平台和编译器:Google Test 支持 Windows、Linux、MacOS 等多个平台和多种编译器,包括 GCC、Clang、MSVC 等
  • 丰富的断言:提供了一系列的断言宏来检查代码的正确性,例如 EXPECT_EQ 用于比较两个值是否相等。
  • 测试固定装置:允许定义一个测试环境(称为测试固定装置),在多个测试中重用这个环境,以减少重复代码。
  • 死亡测试:可以用来验证某些代码是否会如预期那样导致程序崩溃。
  • 性能测试:支持编写性能测试用例,可以测量代码的执行时间。
  • 易于集成:可以与各种构建系统(如 CMake、Bazel)和持续集成服务(如 Jenkins)集成。
使用步骤
  1. 下载 Google Test:可以从 Google Test的官方网站或 GitHub 仓库下载源代码。
  2. 编译 Google Test:将 Google Test源代码编译成静态库或直接包含源文件到你的项目中。
  3. 编写测试用例:使用 Google Test提供的宏和函数来定义测试用例。
  4. 运行测试:编译并运行包含测试用例的程序,查看测试结果。
示例代码

文件结构

root@z-VirtualBox:/disk3/gTest# tree
.
├── calculate_gtest.cc #测试用例,使用gTest测试函数功能
├── calculate.c #定义函数
├── calculate.h #声明函数
├── gtest #编译好的GTest
│   ├── include
│   └── lib
│       ├── libgtest.a
│       └── libgtest_main.a
└── libcalculate.so #使用g++编译出的动态库

待测试的代码: calculate.hcalcualte.c

//calculate.h
#ifndef __CALCULATE_H__
#define __CALCULATE_H__


#include <stdio.h>
#include <stdlib.h>

int add(int a, int b);
int sub(int a, int b);
int divide(int a,int b);

#endif


//calcualte.c
#include "calculate.h"

int add(int a,int b
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值