一、简介
单元测试作为白盒测试的一项基本技能,越来越受到测试行业界的青睐,掌握单元测试技能,将会在你面试、找工作中增加一份筹码。
如果之前没有掌握单元测试的基本方法,本系列单元测试的文章将带领你从入门到精通,一步一个脚印见证你的测试技能成长之路。
GTest是Google开源的一个C++单元测试框架,支持多系统平台的使用,可以快速地搭建部署单元测试的环境。业界较多的C++项目都采用GTest作为单元测试框架,掌握了GTest的使用,你就拥有了一张行业界的通行证。
本篇文章先给大家分享GTest单元测试框架的安装和简单使用:
二、下载安装Gtest库
Gtest源文件下载地址
下载后解压到任意一个目录下,如D:\googletest:
使用VS直接打开msvc目录下的gtest.sln工程文件 (VS会提示升级,直接OK就行了)
Build一下这个工程(用来生成lib库)
生成解决方案后会在**./msvc/gtest/Debug目录下看到gtestd.lib**库文件:
三、开始一个单元测试
1. 配置Gtest头文件路径:
2. 配置gtestd.lib库路径(刚编译出来的那个):
3. 配置Runtime Library为Multi-threaded Debug (/MTd):
4. 开始我们的单元测试
// 1.编写一个你需要单测的函数int TestFun(int a, int b){ if (a == 0 || b == 0) { throw "不要这样做嘛"; } int c = a % b; if (c == 0) return b; return TestFun(b, c);}
// 2.对函数编写测试用例,这里写了两个TEST(TestFunSuit, TestCase1){ EXPECT_EQ(2, TestFun(4, 10));}TEST(TestFunSuit, TestCase2){ EXPECT_EQ(6, TestFun(30, 18));}
// 3.在main函数里运行测试用例int main(int argc, char* argv[]){ // 初始化单元测试环境 testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS();}
运行得到的结果:
四、小结
本篇文章内容非常简单,为的是让之前没有接触过GTest单元测试框架的同学,能快速掌握GTest测试框架的搭建,然后快速上手开始单元测试,GTest单元测试框架的更多内容将在后面系列文章里和大家分享。
坚持就是胜利,希望想上手C++单元测试的同学从现在开始,从本文开始,和搜狗白盒测试团队一起探索白盒测试成长之路!
开始迈步了,前方就不远了,所以请启程!
本文分享自微信公众号 - 搜狗测试(SogouQA)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。