环境准备
- Windows 10
- Code::Blocks 20.03
- Google Test 1.7.0
- CMake 3.11.0
编译GoogleTest
一、创建一个工作目录D:\gtest,将刚下载的Google Test 1.7.0、CMake 3.11.0的压缩包解压到刚创建的工作目录。
二、进入CMake文件夹的bin下,运行cmake-gui.exe,然后选择填入相关信息:
- where is the source code:D:\gtest\googletest-release-1.7.0
- where to build the binaries:D:\gtest\codeblocks-mingw
三、点击Configure按钮后,选择项目生成器CodeBlocks - MinGW Makefiles,然后点击Finish。
四、回到主界面配置完成后勾选 gtest_disable_pthreads,再点击Generate。
注意,如果弹出如下图异常窗口,可通过添加CodeBlock应用目录路径(如:C:\Program Files\CodeBlocks)到环境变量Path中解决异常。
五、在D:\gtest\codeblocks-mingw下,找到生成的gtest.cbp文件,用CodeBlocks打开gtest.cbp文件,然后点击齿轮按钮build成功即可。
配置CodeBlocks
一、打开CodeBlocks,点击菜单栏Settings->Compiler…
二、在Compiler settings -> Compiler Flags选项卡中勾选-std=gnu++11:
三、在Linker settings->Other linked options中,添加文本-lgtest:
四、在Search directories->Compiler选项卡中,添加目录路径D:\gtest\googletest-release-1.7.0\include:
五、在Search directories->Linker选项卡中,添加目录路径D:\gtest\codeblocks-mingw(也就是GoogleTest编译后所在目录路径):
单元测试
一、创建一个名为HelloGoogleTest的后台开发工程。
二、添加如下测试代码:
#include <iostream>
#include<gtest/gtest.h>
using namespace std;
int add(int a, int b)
{
return a+b;
}
TEST(addtest, HandleNoneZeroInput)
{
EXPECT_EQ(14, add(4, 10));
EXPECT_EQ(-2, add(-3, 1));
}
int main(int argc, char *argv[])
{
cout << "Hello world!" << endl;
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
三、测试结果