环境配置三:Xcode Version 6.4 gtest环境搭建

来源:互联网 发布:js ajax请求跨域问题 编辑:程序博客网 时间:2024/06/05 16:41

    工作需要使用gtest进行单元测试。本人所用开发环境为XCODE6.4,亲测有效。

1、准备工作:

gtest:https://code.google.com/p/googletest/ 下载,本人下载最新版1.7.0,之后解压

XCODE6.4

2、打开gtest文件夹,在XCODE文件夹中打开工程,编译:

    (1)architectures选项选择universal。。。

编译结束后会出来三个文件:一个framework,两个.a静态库文件

3、新建工程,我测试用的是控制台程序。由于控制台无法加载framework,因此引入两个静态库

     (1)右键工程,add files to ~,选择两个静态库

     (2)architecture选择standard~~

     (3)引入头文件,Header Search path 加入到include目录,(注意不要加入到gtest目录,会出现编译不通过)

     (4)头文件#include <gtest/gtest.h>

     (5)C++standard library 选择libstdc++(GNU C++ Standard library)此步非常关键

4、测试代码如下:

#include <iostream>

#include <string>

#include <gtest/gtest.h>


int Foo(int a, int b)

{

    if (a == 0 || b == 0)

    {

        throw "don't do that";

    }

    int c = a % b;

    if (c == 0)

        return b;

    return Foo(b, c);

}



TEST(FooTest, HandleNoneZeroInput)

{

    EXPECT_EQ(2, Foo(4, 10));

    EXPECT_EQ(6, Foo(30, 18));

}


int main(int argc, char * argv[]) {


    

    std::wstring a;

    testing::InitGoogleTest(&argc, argv);

    return RUN_ALL_TESTS();

}


1 0