Simple Tests
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


测试例子

To create a test:

创建一个测试

1、Use the TEST() macro to define and name a test function, These are ordinary C++ functions that don't return a value.

使用TEST()宏定义个和命名一个测试函数,这些函数是普通无返回值的C++函数。

2、In this function, along with any valid C++ statements you want to include, use the various Google Test assertions to check values.
         这些函数中,可以使用任何合法的C++语句,可以使用各类Google Test断言检测值。

3、The test's result is determined by the assertions; if any assertion in the test fails (either fatally or non-fatally), or if the test crashes, the entire test fails. Otherwise, it succeeds
     由断言决定测试结果,如果在测试中发生断言失败(无论致命的或非致命的),或者测试崩溃,整个测试失败,否则测试就是成功的。

TEST(test_case_name, test_name) {

... test body ...

}

TEST() arguments go from general to specific. The first argument is the name of the test case, and the second argument is the test's name within the test case. Remember that a test case can contain any number of individual tests. A test's full name consists of its containing test case and its individual name. Tests from different test cases can have the same individual name.

TEST()参数名从一般到特殊:第一个参数是测试案例名字,第二个参数是测试案例中的测试名字。记住,一个测试案例可以包含任何一个独立的测试。一个测试的全名由包含测试案例和独立测试名字组成。来自不同的测试案例的测试可以有相同的独立测试名字。

For example, let's take a simple integer function:

以简单的整数函数为例:

int Factorial(int n); // Returns the factorial of n

A test case for this function might look like:

这个函数的测试一个测试案例可能如下:

// Tests factorial of 0.

TEST(FactorialTest, HandlesZeroInput) {

EXPECT_EQ(1, Factorial(0));

}

// Tests factorial of positive numbers.

TEST(FactorialTest, HandlesPositiveInput) {

EXPECT_EQ(1, Factorial(1));

EXPECT_EQ(2, Factorial(2));

EXPECT_EQ(6, Factorial(3));

EXPECT_EQ(40320, Factorial(8));

}

Google Test groups the test results by test cases, so logically-related tests should be in the same test case; in other words, the first argument to their TEST() should be the same. In the above example, we have two tests, HandlesZeroInput and HandlesPositiveInput, that belong to the same test case FactorialTest.

Google Test组合了测试案例的测试结果,因此逻辑上相关的测试应该在同一个测试案例中。此外,相关测试的TEST()的第一个参数名应该相同,在上面的例子中,我们有两个测试HandlesZeroInput和HandlesPositiveInput,但属于同一个测试案例FactorialTest。


Availability
: Linux, Windows, Mac.

转载请注明来自ubunoon[http://www.cnblogs.com/ubunoon]

转载于:https://www.cnblogs.com/ubunoon/archive/2008/11/08/GoogleTestPrimerTestCase.html

Google Test Primer(四)——简单测试相关推荐

  1. 《网络安全工程师笔记》 第十四章:渗透简单测试流程

    注:本笔记来自温晓飞老师的网络安全课程 第十四章:渗透简单测试流程 第一章:虚拟化架构与系统部署 第二章:IP地址详解 第三章:进制转换 第四章:DOS基本命令与批处理 第五章:用户与组管理 第六章: ...

  2. 四款python中文分词系统简单测试

    四款python中文分词系统简单测试: 注:中科院分词可采用调用C库的方式使用 纠正下:中科院分词2012支持关键词提取 准确率测试(使用对应项目提供在线测试,未添加用户自定义词典) 结巴中文分词ht ...

  3. GCM Google官方示例的简单介绍和使用

    GCM Google官方示例的简单介绍和使用 准备工作 翻墙 先翻墙,翻不了墙一切都白搭-- Google账号 申请Google账号 进入Google开发管理台 创建工程(Google管理台上的Pro ...

  4. CentOS7设置静态IP、搭建单机版FastDFS图片服务器、使用FastDFS-Client客户端进行简单测试、实现图片上传、实现商品添加修改删除

    CentOS7设置静态IP.搭建单机版FastDFS图片服务器.使用FastDFS-Client客户端进行简单测试.实现图片上传.实现商品添加修改删除 CentOS7设置静态IP而且还可以上网 192 ...

  5. Ubuntu 16.04下ASP.NET Core+ MySql + Dapper在 Jexus、nginx 下的简单测试

    一.环境及工具 1.服务器 VirtualBox5.1.4 安装 Ubuntu Server 16.04 amd64 MySql Ver 14.14 Distrib 5.6.21 Jexus 5.8. ...

  6. Hadoop入门进阶步步高(四)-测试Hadoop

    2019独角兽企业重金招聘Python工程师标准>>> 四.测试Hadoop 一个简单的求每年温度最大值的程序. 1.准备两个文本测试数据 准备两个名为data1.txt及data2 ...

  7. 四年测试工程师经历,下一步转开发还是继续测试?

    问题: 四年测试工程师经历,下一步转开发还是继续测试? 测试四年,没有积累编程脚本能力和自动化经验,找工作时都要求语言能力,自动化框架. 感觉开发同事积累的经历容易找工作. 下一步,想办法转开发岗还是 ...

  8. 台式计算机的速度,USB3.0有多快?平民级最简单测试告诉你

    [IT168 应用]说到USB3.0,估计大家已经很熟悉了.但是由于现在这项技术还没有被广泛应用,并且只有一小部分高端PC产品才使用它,所以它还是给了我们一种神秘的感觉.但是总是听说USB3.0的传输 ...

  9. Software Engineering at Google翻译-III-11-Testing overview(测试概述)

    参考: https://github.com/daizhenhong/swe-at-google/blob/main/Part_III_Processes/total/Chapter-11-total ...

  10. rabbitmq java 测试_RabbitMQ 简单测试

    RabbitMQ 测试 RabbitMQ 基于Erlang 实现, 客户端可以用Python | Java | Ruby | PHP | C# | Javascript | Go等语言来实现.这里做个 ...

最新文章

  1. python如何收集数据_用Python做数据清洗:采集几百个xls或csv中的数据并汇总
  2. 第一次使用Android Studio时你应该知道的一切配置(三):gradle项目构建
  3. vmwear导出OVF模板解析(解决ovf导入服务器失败问题,虚拟机版本等)
  4. [codevs 1912] 汽车加油行驶问题
  5. ITK:观察事件 Observe An Event
  6. SpringBoot整合mybatis(CRUD)
  7. linux 对硬盘重新分区,硬盘重新分区后,linux的硬盘表的重新设置
  8. 网站优化:浏览器缓存控制简介及配置策略
  9. docker registry push 覆盖_原创 | 全网最实在的docker入门教程四
  10. 音视频技术(25)---MPEG-2、MPEG-4、H.264 与视频带宽
  11. 关于C#窗体程序dataGridView控件的用法
  12. Songs ever sing
  13. 干货 | 云智慧透视宝Java代码性能监控实现原理
  14. 问题:C-Kermitc Sorry, you must SET LINE or SET HOST first
  15. SDRAM DQM的解释
  16. 第九届河南省程序设计大赛 1273-宣传墙(java)
  17. python定义变量类型为数字_python 学习(四)- 变量类型
  18. 485传感器接入串口交换机采集方案
  19. 阿里云服务器esc第一弹,新手教程,过程详细哦
  20. LSM-Tree 的写放大写放大、读放大、空间放大RockDB、leveldb 写放大简单分析参考文档

热门文章

  1. php远程获取文件大小,PHP 获取远程文件大小的3种解决方法
  2. mvvm绑定checkbox wpf_WPF(MVVM)菜单中的互斥(和可绑定)复选框
  3. mysql表设计原则_MYSQL数据库设计规范与原则
  4. CocoaPods 简易教程 Alamofire请求数据 Swift
  5. 计算机控制技术数据存储器有,计算机控制技术复习资料.doc
  6. 113. 路径总和 II
  7. matlab之find函数
  8. java 文件流 追加_JAVA向文件中追加内容(转)
  9. storm中的RotatingCache技术
  10. POJ1015 Jury Compromise【背包问题】