gtest使用 --- LINUX

1. 概念

          gtest,测试框架,是在不同平台上为编写C++测试而生成的。基于xUnit框架的测试结果,支持自动发现测试,丰富的断言集,用户定义的断言,death测试,致命与非致命的失败,类型参数化测试,各类运行测试的选项和XML的测试报告;

2. 实例

         实例包含的文件:function.h、function.cpp、ut_all.cpp、ut_function.cpp、Makefile;

function.h:主要用于申明函数,还有就是code封装成库后,给用户使用时,一方面可以避免源码的外泄,另一方面可以更好的让用户了解库相关的暴露接口;

#ifndef _FUNCTION_H
#define _FUNCTION_H

int add(int num1, int num2);
#endif

function.cpp:接口的主要实现;

#include "function.h"

int add(int num1, int num2)
{
	return num1+num2;
}

ut_function.cpp:主要用于在开发的过程中完成自测,便于降低产品在日后市场中出现bug的概率;

#include "gtest/gtest.h"
#include "function.h"

TEST(addtest, success)
{
	ASSERT_EQ(2, add(1,1));
}

ut_all.cpp:视为测试接口的入口;

#include "gtest/gtest.h"
#include 

using namespace std;

int main(int argc, char* argv[])
{
	testing::InitGoogleTest(&argc,argv);
	return RUN_ALL_TESTS();
}

Makefile:减少编译过程中,命令行输入的痛苦;

all:
	g++ -o ut_test *.cpp *.h -lgtest -lpthread

3. 注意点

       > 编译时,记得指定需要链接的库(example:gtest)

       > 编译前,安装gtest,安装教程有很多,此处就不进行介绍

你可能感兴趣的:(linux)