其实单元测试框架本身的实现并不复杂,我们完全可以模仿来完善我们的测试框架,但大部分公司还是决定使用业界通用的测试框架的测试框架,原因是:
1.不断完善自己的测试框架之后就会发觉相当于把UT test frame重新做了一遍,虽然轮子造的很爽,但是不是必要的。
2.使用开源的测试框架可以免去维护测试框架的麻烦,并且可以进行增量开发,让我们有更多精力投入到案例设计上。
3.通用的单元测试框架提高了非常完善的功能,并且简单易用,极大的提高了编写测试案例的效率。
业界知名的单元测试框架有: Junit, Cunit, CppUnit, SQLUnit, gtest
介绍一下Gtest
Google Test是Google C++ Testing Framework的一种非正式的称谓,是google发布的一个开源C++测试框架。
Google测试框架是在不同平台上(Linux,Mac OS X,Windows,Cygwin,Windows CE和Symbian)为编写C++测试而生成的。它是基于xUnit架构的测试框架,支持自动发现测试,丰富的断言集,用户定义的断言,death测试,致命与非致命的失败,类型参数化测试,各类运行测试的选项和XML的测试报告。
gtest的官方网站是:http://code.google.com/p/googletest/
从官方的使用文档里,你几乎可以获得你想要的所有东西
http://code.google.com/p/googletest/wiki/GoogleTestPrimer
http://code.google.com/p/googletest/wiki/GoogleTestAdvancedGuide
如果还想对gtest内部探个究竟,就把它的代码下载下来研究吧,这就是开源的好处,哈!
官方已经有如此完备的文档了,为什么我还要写呢?一方面是自己记记笔记,好记性不如烂笔头,以后自己想查查一些用法也可以直接在这里查到,一方面是对于不想去看一大堆英文文档的朋友,在我这里可以快速的找到gtest相关的内容。