突然登上GitHub热榜!谷歌的这款测试工具,别告诉我你不知道
Posted 脚本之家
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了突然登上GitHub热榜!谷歌的这款测试工具,别告诉我你不知道相关的知识,希望对你有一定的参考价值。
导读:
在一些项目中,有些测试问题,是无法通过集成测试解决的,比较合适的方法是通过单元测试。
开源最前线(ID:OpenSourceTop) 猿妹综合整理
链接:https://github.com/google/googletest
谷歌有一个名为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)来进行代码测试,这些宏有点类似于函数调用。用户可以直接通过“<<”在这些断言宏后面跟上自己希望在断言命中时的输出信息。举个例子:
ASSERT_EQ(x.size(), y.size()) << "Vectors x and y are of unequal length";
for (int i = 0; i < x.size(); ++i) {
EXPECT_EQ(x[i], y[i]) << "Vectors x and y differ at index " << i;
}
测试宏可以分为两大类:ASSERT_*和EXPECT_*:
其中ASSERT_*将会在失败时产生致命错误并中止当前调用它的函数执行。EXPECT_*版本的会生成非致命错误,不会中止当前函数,而是继续执行当前函数。
值参数必须可由断言的比较运算符进行比较,否则会出现编译器错误。这些断言可以使用用户定义的类型,但前提是你定义了相应的比较运算符(例如==或<),不过,并不建议你这样做。
如果你也对Googletest感兴趣,可以到GitHub项目详情页了解更多。
推荐阅读:
以上是关于突然登上GitHub热榜!谷歌的这款测试工具,别告诉我你不知道的主要内容,如果未能解决你的问题,请参考以下文章
80岁还在写代码!Hello World发明人登上GitHub热榜
中国开源项目wuhan2020登上Github热榜,开发者加入支援大军!
近2w Star!全网首份《程序员考公指南》登上 GitHub 热榜!
11k Star!登上 Github 热榜前三的神经搜索框架!
CEO 亲自写代码登上GitHub 热榜,从零开始打造 “裸金属” 树莓派!
标星 7.2w+!GitHub 上这个教人从零开始造轮子的项目又强势登上热榜!