gtest下载
git clone https://github.com/google/googletest.git -b release-1.11.0
cd googletest
mkdir build
cd build
cmake .. #编译gtest,也可以退回上级目录执行cmake CMakeLists.txt (这里需要电脑上先安装cmake)
vs2017配置gtest
在上面的步骤执行完后,在msvc文件下会生成一个gtest.sln文件,我们直接用vs2017打开这个文件
然后我们分别对gtest和gtest_main进行编译debug和release两个版本,如果我们直接编译会提示我们sdk错误,不要慌,我们先重定向此项目,例如:gtest,右键单击–重定向此项目,然后如下图所示:
直接点击确定即可,然后再开始对gtest进行编译:右键单击–重新生成,然后切换版本进行再次编译
重复上面的步骤对gtest_main进行编译。
两个都编译好后,我们会在 "/msvc/gtest"下面看到debug和release这两个文件夹,然后我们把这两个文件夹下的gtest_maind.lib、gtestd.lib、gtest.lib、gtest_main.lib复制到googletest/lib下面,如果没有lib就创建一个,至此,gtest安装算是完成了
创建第一个测试项目
我们用vs新建一个项目,然后在源文件下面创建一个cpp项目
main.cpp
#define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING 1
#include <gtest/gtest.h>
class VecTest : public testing::Test {
protected:
};
TEST_F(VecTest, Basics111) {
ASSERT_EQ(2, 1) << "this is a test";
}
int main(int argc, char** argv) {
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
然后右键点击项目名 demo2,开始配置项目属性
附加包含目录就是gtest的头文件,关掉SDL检查,不然会报一些奇怪的错误
这里运行库根据版本选择,一般release选择MT,debug选择MTD
这里把gtest.lib引用进来,然后点击确定
然后我们再对项目进行编译,和上文中编译gtest项目是一样的操作
因为我已经编译过,所以这里会有点不一样,初次编译的话会提示成功 1 个
然后到项目的目录下,打开命令行窗口,进入到release目录下,会看到一个demo2.exe
我们直接运行这个exe文件
这里注意failed并不是我们运行失败了,是我们的测试案例断言是错误的
ASSERT_EQ(2, 1) << "this is a test";
这里我断言是要让2=1,这个断言是错的,所以会打印出来后面的这个信息
到这里,gtest已经配置好了,就可以自己添加测试用例了,至于gtest的使用教程,网上搜一下很多的