codeblocks+Mingw 下配置开源c++单元测试工具 google test
google test 是google的c++开源单元测试工具,chrome的开发团队就是使用它。
Code::Blocks 12.11(MinGW 4.7.1) (Windows版)
Google Test 1.7.0
一 编译Google Test
运行cmake-gui
在弹出来的对话框中
Where is the source code之后填写解压的gtest,例如:D:/software/gtest-1.7.0
Where to build the binaries之后填写生成的工程路径,例如:D:/software/gtest-1.7.0/codeblocks-mingw
(网上看到说要点击Configure,然后勾选gtest_disable_pthreads之后的复选框,再进行下面的操作,这一步我没有做也没问题)
点击Configure
然后点击Generate
如此一来,cmake就在D:/software/gtest-1.7.0/codeblocks-mingw下会自动生成Code::Blocks的project文件。
双击该project文件(cbp文件),然后build就行了。
二 使用Google Test
需要注意的是:
既想用C++11的新特征,又想顺利编译Google Test,你得用命令行参数-std=gnu++11,而不是-std=c++11。
用codeblocks新建一个工程
右键project,选择Build options...
清除Compiler settings > Compile Flags下与-std=有关的复选框
点击选项卡Compiler settings > Other options,在对话框中填写-std=gnu++11
(如果没有使用c++11新特性,上面两步可以省略)
在Linker settings > Other linker options下填写-lgtest
点击OK
点击选项卡Search directories
在Compiler子选项卡中Add一项,填写D:/software/gtest-1.7.0\include
在Linker子选项卡中Add一项,填写D:/software/gtest-1.7.0\codeblocks-mingw
点击OK
然后就可以写代码了,我写了一个add函数,然后对其测试,代码如下:
1 #include<cstdio> 2 #include<gtest/gtest.h> 3 4 int add(int a, int b) 5 { 6 return a+b; 7 } 8 9 TEST(addtest, HandleNoneZeroInput) 10 { 11 EXPECT_EQ(14, add(4, 10)); 12 EXPECT_EQ(-2, add(-3, 1)); 13 } 14 15 int main(int argc, char *argv[]) 16 { 17 testing::InitGoogleTest(&argc, argv); 18 return RUN_ALL_TESTS(); 19 return 0; 20 }
结果如图:
详细的使用说明请参考:here
【版权声明】转载请注明出处:http://www.cnblogs.com/TenosDoIt/p/3412721.html