软件测试(白盒测试入门之gtest测试)

一、gtest是什么

gtest全程为GoogleTest,是一个跨平台的(Liunx、Mac OS X、Windows、Cygwin、Windows CE and Symbian)C++单元测试框架,由google公司发布。

如何去下载,调用,这个可以去找下相关教程,还需要先学下cmake相关的知识。篇幅有限,我们有空再讲。

二、gtest能做什么

gtest提供了丰富的断言、致命和非致命判断、参数化、”死亡测试”

我们直接举个栗子:

软件测试(白盒测试入门之gtest测试)_第1张图片

我们写了一个a+b的加法函数,输入2个int型的数,返回它们的和。

我们调用这个函数,然后输入设计的参数,与预期的值进行比对。比如我们输入1,2.我们预期它返回的值为3.

软件测试(白盒测试入门之gtest测试)_第2张图片

TEST宏是gtest提供的一个测试宏,它有2个参数,第一个为测试套件名称,第二个为具体用例名称。这2个名字,都是我们可以自己随意写的。

gtest提供了2个断言宏ASSERT和EXPECT。

ASSERT_——如果当前点检测失败则退出当前函数

EXPECT_——如果当前点监测失败则继续往下执行

EQ表示数值型数据检查,预期值与实际值相同。

这里我们可以粗略的介绍下其他类型的断言

软件测试(白盒测试入门之gtest测试)_第3张图片

软件测试(白盒测试入门之gtest测试)_第4张图片

 

下面那个main方法,是gtest的固定写法,可以先不管,有兴趣可以点进去看下源码。

软件测试(白盒测试入门之gtest测试)_第5张图片

最后,我们运行下这个测试demo,看下测试结果

软件测试(白盒测试入门之gtest测试)_第6张图片

从图上,我们可以清晰的看到,哪些测试套件、测试用例运行是否成功。

这里,我们也可以故意写个错的,看下失败的展示样子

软件测试(白盒测试入门之gtest测试)_第7张图片

软件测试(白盒测试入门之gtest测试)_第8张图片

 从结果从,我们看到,它显示测试不通过,并且指出了测试不通过的位置,函数。非常的好用。

好了,这个demo讲解就到这了,我们后续再去了解下gtest的事件机制、参数化、死亡测试等内容

你可能感兴趣的:(软件测试,单元测试,测试工具)