zoukankan      html  css  js  c++  java
  • Gtest创建第一个测试

    gtest测试框架是在不同平台上(Linux,Mac OS X,Windows,Cygwin,Windows CE和Symbian)为编写C++测试而生成的。它是基于xUnit架构的测试框架,支持自动发现测试,丰富的断言集,用户定义的断言,death测试,致命与非致命的失败,类型参数化测试,各类运行测试的选项和XML的测试报告。需要详细了解的朋友可以参阅《玩转Google单元测试框架gtest系列》该篇文章。

    http://www.cnblogs.com/coderzh/archive/2009/03/31/1426758.html

    下面就针对这篇文章建立自己的第一个测试,以及测试搭建环境

    准备工作

    1、打开VS2010,新建windows console application解决方案demo,预编译头文件

    2、下载文章中提供的链接,gtest 1.3.0-zip,解压。

    3、打开gtest-1.3.0msvc,使用vs2010编译gtest.sln解决方案,生成Debug文件夹,里面有个gtestd.lib文件,一会有用,额外说明的是这个文件是在Debug模式下使用,另外还可能生成一个gtest.lib文件,是在Release模式下使用的,下面默认是在Debug模式下进行

    4、在demo.cpp中加入代码

    // demo.cpp : 定义控制台应用程序的入口点。
    //
    
    #include "stdafx.h"
    #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 _tmain(int argc, _TCHAR* argv[])
    {
         testing::InitGoogleTest(&argc, argv);
         
    
        return RUN_ALL_TESTS();
        //getchar();
        system("pause");
    
    }

    5、在demo解决方案的属性页面中加入,需要附加的目录,因为需要使用一些gtest的头文件,如上面程序中的gtest.h,否则程序不知道一些宏是从哪来的

    我的目录C:UsersAdministratorDesktopgtest-1.3.0include

    6、设置调试模式。本例采用静态运行库的Debug模式,对应的/MTd,所以是下图所示,若是Release模式下可以选择/MT

    关于运行库的说明参见http://www.cnblogs.com/eddyshn/archive/2009/11/23/1608823.html

    7、在demo解决方案的属性页面中加入,需要链接的库文件的地址,即是刚才提到的lib所在的文件夹路径

    我的是C:UsersAdministratorDesktopgtest-1.3.0msvcDebuggtestd.lib

    6、遗憾的是没有出现这个页面,用了各种方法都不行啊,评论里也有这种情况,难道是版本的问题,待解决,希望谁知道告我一声哦

  • 相关阅读:
    2014-12-28 iframe,style,body style
    2014-12-25 网页基础,html。
    2014-12-19 特殊集合:stack、queue、Hashtable
    2014-12-18 集合
    2014-12-16 多维数组
    2014-12-15 数组
    2014-12-14 跳转语句,while循环,各种类的用法
    combobox DataGridView
    面向对象(重载、封装、继承、抽象)
    winform
  • 原文地址:https://www.cnblogs.com/fickleness/p/3148069.html
Copyright © 2011-2022 走看看