Codeblocks下搭建gtest框架

来源:互联网 发布:淘宝html5模板 编辑:程序博客网 时间:2024/06/02 22:53

Codeblocks下搭建gtest框架

Gtest需要先编译才能使用。

一、编译gtest

(1) 使用cmake-gui生成codeblocks工程

下载下来的gtest如下:

Gtest中有VS工程,如打开gtest-1.6.0\msvc目录下有gtest.sln,这就是VS工程,可以用VS直接编译。但是并没有codeblocks工程,所以我们要先生成codeblock工程。

我们使用的是cmake-gui,安装文件为:

 

安装完成后,打开cmake-gui,

在图上这两个框中填入路径,”Where is the source code”中填入的是gtest的路径,”Where to build the binaries”中填入的是你要生成的codeblocks工程的路径,如我在gtest路径下新建目录mybuild-codeblocks-mingw。

然后点击界面下的configure,如下图,选择生成codeblocks的makefile,

 

Finish后,如图:

勾选gtest_disable_pthreads,再点configure,结束后再点Generate,就会在你的路径生成codeblocks工程,

用codeblocks打开,并build。

编译gtest的目的是生成库文件,libgtest.a,在后面的工程中使用该库文件。

 

二、建立gtest工程

2.1 建立工程

使用codeblocks新建控制台程序,

此处选择C++,

 

文件结构为:     _ source-

            - code|

            |     - include

            |

Reconstitution |

            |      _codetest

- ft_prj |

      - testcases

      |

      - stub

 

Ft_prj->codetest即为新建的控制台程序工程路径,将前面编译生成的libgtest.a库文件放入此,code是我们正式代码的路径,ft_prj里面testcases是我们测试用例代码的路径,stub是打桩代码的路径。

如果要增加文件,选中工程,右键Add files即可。

 

2.2 工程配置

main.cpp中代码为:

#include <iostream>

#include "gtest/gtest.h"

 

using namespace std;

 

 int main(int argc, char **argv)

{

       testing::InitGoogleTest(&argc, argv);

       RUN_ALL_TESTS();

       system("PAUSE");

 

       return 0;

}

test.cpp中代码为:

#include "gtest\gtest.h"

#include "demo.h"

 

struct TestFix:testing::Test{

    void SetUp()

        {

        }

    void TearDown()

       {

       }

};

 

TEST_F(TestFix,test1)

{

    int ret=0;

    ret = first(10);

       EXPECT_EQ(11,ret);

    ASSERT_EQ(11,ret);

};

其中first()函数为code路径下的一个测试函数,头文件”demo.h”里有这个函数的申明。

 

右键工程,选择build options:

 

清除Compiler settings > Compile Flags下与-std=有关的复选框
点击选项卡Compiler settings > Other options,在对话框中填写-std=gnu++11
在Linker settings > Other linker options下填写-lgtest

 

在linker settings->link libraries里add之前编译的库文件。

在search directories->compiler里增加gtest-1.6.0\include路径,另外还要增加搜索自己代码头文件的路径,如code->include,stub->include。

在search directories->linker增加库文件libgtest.a所在的路径。


最后选择工程,右键build,即可编译工程。运行:

 

以后在此基础上,可以增加测试用例。

0 0
原创粉丝点击