突然登上GitHub热榜!谷歌的这款测试工具,别告诉我你不知道

新闻 开发工具
谷歌有一个名为Google test的C++测试框架,它能够帮助我们比较方便的进行测试代码的编写,以及输出尽可能详细的失败信息,从而大大提高代码测试的效率,无论是Linux,Windows还是Mac,Google test都支持。

 [[338707]]

在一些项目中,有些测试问题,是无法通过集成测试解决的,比较合适的方法是通过单元测试。

谷歌有一个名为Google test的C++测试框架,它能够帮助我们比较方便的进行测试代码的编写,以及输出尽可能详细的失败信息,从而大大提高代码测试的效率,无论是Linux,Windows还是Mac,Google test都支持。

实际上,Google test已经发布很久了,只是最近几天又被广大程序员粉丝们送上了GitHub热榜,因为该存储库是GoogleTest和GoogleMock项目的合并。

目前,在GitHub上标星16.4K,累计分支6.4K,可以说是非常受欢迎了。(Github地址:https://github.com/google/googletest)

由于Googletest是基于流行的xUnit框架的,如果你以前用过JUnit或PYUnit,那你使用起Googletest一定是得心应手。如果没有,花点时间学习一些基础知识也是可以很快上手的。

Google Test采用一系列的断言(assertion)来进行代码测试,这些宏有点类似于函数调用。用户可以直接通过“<<”在这些断言宏后面跟上自己希望在断言命中时的输出信息。举个例子:

  1. ASSERT_EQ(x.size(), y.size()) << "Vectors x and y are of unequal length"
  2.  
  3. for (int i = 0; i < x.size(); ++i) { 
  4.   EXPECT_EQ(x[i], y[i]) << "Vectors x and y differ at index " << i; 

一些常见的断言语句如下:

测试宏可以分为两大类:ASSERT_*和EXPECT_*:

其中ASSERT_*将会在失败时产生致命错误并中止当前调用它的函数执行。EXPECT_*版本的会生成非致命错误,不会中止当前函数,而是继续执行当前函数。

二值比较:

值参数必须可由断言的比较运算符进行比较,否则会出现编译器错误。这些断言可以使用用户定义的类型,但前提是你定义了相应的比较运算符(例如==或<),不过,并不建议你这样做。

字符串比较:

如果你也对Googletest感兴趣,可以到GitHub项目详情页了解更多。

 

责任编辑:张燕妮 来源: 开源最前线
相关推荐

2021-09-16 15:52:05

GitHub命令URL

2023-04-19 08:14:24

2019-12-26 15:31:17

腾讯框架开源

2020-06-12 09:20:33

前端Blob字符串

2020-07-28 08:26:34

WebSocket浏览器

2011-11-01 12:22:11

京东商城小i机器人

2011-04-28 13:00:15

投影幕投影

2024-01-08 07:11:35

2021-07-14 11:25:12

CSSPosition定位

2011-09-15 17:10:41

2009-12-10 09:37:43

2021-02-01 23:23:39

FiddlerCharlesWeb

2022-10-13 11:48:37

Web共享机制操作系统

2010-10-19 15:31:44

Java

2010-08-23 09:56:09

Java性能监控

2020-06-22 08:09:22

GitHub工具开发

2019-11-01 11:12:50

PythonExcelWindows

2020-10-15 13:40:28

软件测试测试内幕

2024-04-09 09:08:09

Kafka消息架构

2020-09-15 08:35:57

TypeScript JavaScript类型
点赞
收藏

51CTO技术栈公众号