本博客rss订阅地址: http://feed.cnblogs.com/blog/u/147990/rss

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

posted @ 2013-11-07 16:25  tenos  阅读(3341)  评论(1编辑  收藏  举报

本博客rss订阅地址: http://feed.cnblogs.com/blog/u/147990/rss

公益页面-寻找遗失儿童