最近打算复现的一篇论文的代码中用到了gtest,于是打算学习一下,网上只找到了1.7.0版本的安装教程,安装后确实可以运行最基本的测试指令,但是1.7.0版本比较旧了,无法正确识别论文代码中使用的部分测试指令,于是只好自己想办法装最新的1.11.0版本。其实整体流程差不多,只是细节上有差异。目前我还只测试了TEST指令和TYPED_TEST指令,日后若发现问题再做补充。
环境及工具:
Windows10系统
Code::Blocks 20.03
CMake 3.21.0
GoogleTest 1.11.0
配置步骤
(1)首先下载安装必要的工具,在https://github.com/google/googletest下载GoogleTest 1.11.0的源码并解压;安装CMake。
(2)将"CodeBlocks\MinGW\bin"路径下的"libwinpthread-1.dll"复制到"CMake\bin"路径下。
(3)运行CMake,"Where is the source code:"栏选择GoogleTest的解压路径,"Where to build the binaries:"选择一个你新建的路径(空文件夹)。
(4)单击Configure,应该不会有任何error。
(5)使用默认Value值,单击Generate。
(6)此时你的"Where to build the binaries:"路径中会包含一个"googletest-distribution.cbp"的Code::Blocks工程文件,使用Code::Blocks打开后直接编译运行(build and run)。在这一步中,打开工程文件后Code::Blocks的界面中可能什么都不会显示,没有关系,编译运行即可。成功编译之后,你的"Where to build the binaries:"路径中会包含一个名为"lib"的文件夹,也就是gtest和gmock的库文件。GoogleMock是GoogleTest的辅助框架,一般只用GoogleTest即可。
(7)打开Code::Blocks,单击"setting-compiler",在"Linker settings"栏,Add上一步生成的“lib”文件夹下的四个库文件;在"Search directories"栏,单击"Compiler",Add你的"Where is the source code:"路径下的"googletest\include"和"googlemock\include";依然在"Search directories"栏,单击"Linker",Add你的"Where to build the binaries:"路径下的"googletest"和"googlemock"。最后点击OK。
最后附上GoogleTest User's Guide: https://google.github.io/googletest/,可以学习gtest的用法,并试着写一些测试样例,检查安装是否成功。
因为学习安装gtest,写测试样例,排查错误,然后怀疑是版本问题,按老版本安装方法配置新版本未果,又自己摸索安装新版本的方法,整个过程也花费了不少的精力,故把经验总结于此,希望能节省大家宝贵的时间,帮助到更多的人。