Google Test
Google Test
Google Test
GTest是单元测试的利器。通过在cpp执行文件中,添加TEST函数,函数中设置好测试套件与测试名称两个参数既可以进行预先定义好的测试单元,在最终执行窗口输出测试结果。
安装:
考虑在vscode编辑器下进行工作,首先进行Gtest的安装:
# 下载最新的release 并保存为 googletest-1.8.1.tar.gz
wget -O googletest-1.8.1.tar.gz https://github.com/google/googletest/archive/release-1.8.1.tar.gz
# 解压
tar -zxf googletest-1.8.1.tar.gz
# 进入解压后的目录
cd googletest-release-1.8.1
# 为编译创建一个目录
mkdir build && cd build
cmake ..
make
# 安装
sudo make install
基本介绍:
-
使用前添加
#include <gtest/gtest.h>
; -
当断言执行失败时,GoogleTest会打印输出相关信息,有EXPECT_ (非致命失败,允许continue)和 ASSERT_ (致命失败,必须退出)两种形式;
-
所有断言都支持通过类似于cout的“<<”操作符自定义失败提示信息:
EXPECT_TRUE(my_condition) << "自定义提示信息";
-
除此之外还有字符串判断,值比较等,具体可见 blog。
具体使用:
编写要测试的功能,比如要测试加法函数是否正确;
#include <iostream>
#include <gtest/gtest.h>
int add(int a, int b) {
return a + b;
}
TEST(Adder, test1) {
EXPECT_EQ(add(1, 2), 3) << "Good job!";
EXPECT_EQ(add(0, 2), 3) << "print error!";
EXPECT_TRUE(true);
}
int main() { // 特殊的是,没有此main函数,上述测试函数也可以执行.
cout<<"test module."<<endl;
}
运行此代码命令:
g++ test.cpp -lgtest -lpthread
./a.out
出现测试结果
石中之火,即使无可燃烧之物,也要尽力发亮