网上有很多讲Google的开源C++单元测试框架Google Test的,简称gtest,非常的不错。 它是基于xUnit架构的测试框架,支持自动发现测试,丰富的断言集,用户定义的断言,death测试,致命与非致命的失败,类型参数化测试,各类运行测试的选项和XML的测试报告,使用Google Test后就没有必要自己实现一套单元测试框架了,gtest可以很好的解决各种单元测试问题。
1.使用gtest可以免去维护测试框架的麻烦,让我们有更多精力投入到案例设计上。
2.gtest提高了非常完善的功能,并且简单易用,极大的提高了编写测试案例的效率。
gtest的官方网站是:
http://code.google.com/p/googletest/
从官方的使用文档里,你几乎可以获得你想要的所有东西
http://code.google.com/p/googletest/wiki/GoogleTestPrimer
http://code.google.com/p/googletest/wiki/GoogleTestAdvancedGuide
如果还想对gtest内部探个究竟,就把它的代码下载下来研究吧,这就是开源的好处,如果无法访问Google,就去万能的GitHub吧
GoogleTest在Github的地址
https://github.com/google/googletest
现在可以下载到1.7.0的版本,但基本上gtest-1.6版是够用的,下载下来后,放到一个合适的位置,这里面的源文件在编译器中需要被引用到。
可以看到源代码文件夹里,有适应各种操作系统的编译脚本或者工程文件,比如cmake,make,msvc, msvc文件夹里就是一个支持visual studio的solution文件
打开gtest.sln,visual studio会自动升级我用的是visu studio 2013,可以发现里面有几个项目,其中gtest和gtest_main的产出是对google test编写有用的。
然后编译,正常情况下直接可以通过。debug和release都编译一遍,把编译出的gtest.lib,gtestd.lib, gtest_main.lib, gtest_maind.lib 都放到gtest根目录的lib文件夹下(lib和include位于同一级)。
为了方便使用,配置环境变量GTEST = D:\Program Files\gtest-1.7.0
运行gtest_prod_test工程结果:
现在我们的gtest环境已经搭建好了,后面就可以开始建立自己的项目开始测试了。
参考sample目录示例。