Gtest(googletest)
GTest是Google开发的跨平台而且开源的C++单元测试框架,很好很强大。
下载地址:https://code.google.com/p/googletest/ 。
关于GTest在Windows下使用,CoderZh给出了十分详尽的使用指南:
玩转Google开源C++单元测试框架Google Test系列
本文由如下部分组成:
- 环境配置
- gtest的简单使用
环境配置
- 系统环境: ubuntu16.04 LTS
- 编译环境: gcc version 5.4.0 20160609
- cmake版本: cmake version 3.5.1
gtest的简单使用
1.目录介绍
下载下来,解压开,会发现有很多文件,这些是为了支持不同的平台和支持不同的构建方式。msvc文件用于微软Visual Studio中,xcode用于Mac Xcode ,codegrear用于Borland C++ builder,为避免混淆,在这里我简化为以下几个目录:
- gtest
- main
- mockcpp
- project
- src
- testcase
2.编写待测试源码
待测试的源码放入src目录下。
TrunQHexToFloat.h
#ifndef TRUN_Q_HEX_TO_FLOAT_H
#define TRUN_Q_HEX_TO_FLOAT_H
bool trunQHexToFloat(unsigned char src[],int len,float *Qval);
#endif
TrunQHexToFloat.c
#include<stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include<TrunQHexToFloat.h>
bool trunQHexToFloat(unsigned char src[],int len,float *Qval)
{
if( len != 4 || Qval==NULL)
{
return false;
}
typedef union
{
unsigned char QvalHex[4];
float QvalFloat;
}QHexTof;
QHexTof data;
data.QvalHex[0] = src[0];
data.QvalHex[1] = src