概述
领导说让搞白盒测试,但是从未接触过,只能百度加CSDN搜索,查来查去还是一头雾水,还是直接上手实际来吧,GoogleTest搞起,继续CSDN搜教程,发现竟然好多不同,水平有限,按照好多大神文章都一大堆错,没搞定。找到一位哥们的传送门比较靠谱
哥们的博客:
https://blog.csdn.net/TysonSir/article/details/84254815
外文:https://www.bogotobogo.com/cplusplus/google_unit_test_gtest.php
白盒测试是一种测试用例的设计方法,即在了解程序内容的基础上设计测试用例。了解程序的所有逻辑结构,对所有逻辑路径进行测试。
好吧,以上只是废话,进入正题。 既然要测试,首先要有一个测试对象,直接引用外文中的工程,计算数字立方的程序
// simplemath.h
#include <cmath>
double cubic(double d)
{
return pow(d,3);
}
// SimpleMath.cpp : Defines the entry point for the console application.
#include "simplemath.h"
int main()
{
cubic(10);
return 0;
}
测试用例搭建完成,我们就是搭建测试环境吧
- 下载GoogleTest开源代码
- 将GoogleTest制作成一个静态库
- 建立一个测试工程
- 设置测试用例
1. 下载GoogleTest开源代码
下载地址:https://github.com/google/googletest
建议下载1.8.1版本,因为最新的1.10我找到对应的工程,弱鸡的我不知道咋回事
2.将GoogleTest制作成一个静态库
(1)创建一个名称为GoogleTest的静态链接库工程
(2)在新建的工程上点击右键->属性
在属性页C/C++ 常规 附加包含目录里添加两个根目录
即你所下载的GoogleTest所在位置
…googletest-release-1.8.1googletest
…googletest-release-1.8.1googletestinclude
(3)为工程添加源文件,右键添加->现有项
C:GTESTgtest-1.8.0srcgtest_all.cc
C:GTESTgtest-1.8.0srcgtest_main.cc.
(4)编译生成静态库
此时直接编译会产生N多错误,我们来看下大神的解释
VC ++ 2012不(永远不会)支持可变参数模板。 因此,其标准库实现尝试使用预处理器生成的重载和特化来伪造它们。 伪可变参数模板参数的数量默认为5-问题是gtest试图使用多达10个模板参数实例化std :: tuple <>。
因此,我们需要在C++预处理中设置 _VARIADIC_MAX=10
然后开始编译,成功完美!
3. 建立一个测试工程
(1)解决方案右键 添加->新建工程 名字From0GoogleTest的Win32控制台程序
(2)工程右键属性->C/C++/常规/附加包含目录 添加根目录
即你所下载的GoogleTest所在位置
…googletest-release-1.8.1googletest
…googletest-release-1.8.1googletestinclude
(3)把我们要测试的工程路径也加入第2步的位置
D:迅雷下载From0GoogleTestSimpleMath
(4)为测试工程添加新的引用
点击工程右键->引用->添加新引用->勾选两个后确定即可
(5)这个工程,我们也需要在C++预处理中设置 _VARIADIC_MAX=10
4.创建测试用例
例程代码如下,用EXPECT_EQ来测试cubic()函数
// unittest_SimpleMath.cpp : Defines the entry point for the console application.
#include "gtest/gtest.h"
#include "simplemath.h"
TEST(testMath, myCubeTest)
{
EXPECT_EQ(1000, cubic(10));
}
运行结果
最后
以上就是奋斗硬币为你收集整理的白盒测试-开源测试框架GoogleTest工具入门 在VS2012环境下的配置例程的全部内容,希望文章能够帮你解决白盒测试-开源测试框架GoogleTest工具入门 在VS2012环境下的配置例程所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复