Window&Linux gtest 使用方法-待补充

7 篇文章 0 订阅
2 篇文章 0 订阅

Google's Framework for writing C++ tests on a variety of platforms(Linux, Mac OS X, Windows, Cygwin, Windows CE, and Symbian). Based on teh xUnit architecture. Supports automatic test discovery, a rich set of assertions, user-defined assertions, death tests, fatal and non-fatal failures, value-and type-parameterized tests, various options for running the tests, and XML test report generation.

Linux:

gtest是一个跨平台的C++测试框架,google作品。

它支持自动发现测试,断言集,用户定义的断言,death测试,致命与非致命的失败,类型参数化测试,各类运行测试的选项和XML的测试报告。

(1).下载gtest

http://code.google.com/p/googletest/downloads/list

    笔者下载的是版本1.7.0

http://code.google.com/p/googletest/downloads/detail?name=gtest-1.7.0.zip

(2).安装gtest

**安装过程

     确认lib目录下生成了libgtest.a和libgtest_main.a,这两个库是后续测试程序需要链接的库。(由于笔者对linux熟悉程度没过关,所以全部拷到/usr/lib目录下,也可以编译通过,在熟悉些,定不该如此做。)

(3).测试gtest

     测试foo.h中的一个max函数(求两个数中较大的一个)

     foo.h文件内容如下:

             

**源码

     编写测试程序foo_test.cpp来对foo进行测试:

     foo_test.cpp文件内如下:

            

**源码

     创建一个编译foo_test.cpp的脚本compile.sh,编译命令如下:

            

**编译命令

      需要注意的是,要链接pthread这个库。

      执行结果如下:

            

       上述的成功和失败是和测试程序相关,一一对比就可知道原因。

**测试结果

(4).说明总结

**test

            

       这是要测试的测试用例,后面是执行内容

        foo:测试用例名称

        max:测试名称

这两个参数都只起到提示作用,也可以按照如下方式使用

        foo:类名

        max:方法名

或者(这里用的方式是如此)

        foo:文件名

        max:函数名


EXPECT_EQ(value1, value2);

用例执行成功时,期望value1和value2是相等的,相等才算通过测试,如上例中:

EXPECT_EQ(2, max(2, -1));

max(2, -1)的执行结果值期望是2,如果不等,则用例运行失败。

**main

            

这是main函数,InitGoogleTest会初始化一些环境变量,RUN_ALL_TESTS()会调用所有的TEST(name1, name2);

(6)拓展延伸

更多可获取gtest资料,见官网:http://code.google.com/p/googletest/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值