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

  • 相关阅读:
    怎样写贪吃蛇小游戏?用100行python代码轻松解决!
    面试必问的celery,你了解多少?
    您的机器学习环保吗?一只AI训练排出180吨二氧化碳
    NLP技术应用到音乐领域,分分钟让你变成音乐大师!
    数据可视化“升级”修炼宝典
    一文掌握Python可视化库的两大王者
    多线程-模拟阻塞queue队列
    设计模式-单例模式
    多线程之wait,notify,volatile,synchronized,sleep
    spring与quartz整合
  • 原文地址:https://www.cnblogs.com/fickleness/p/3148069.html
Copyright © 2011-2022 走看看