在一些项目中,有些测试问题是无法通过集成测试来解决的。更合适的方法是通过单元测试。Google有一个C++测试框架Googletest,可以帮助我们更方便的编写测试代码,输出尽可能详细的失败信息,从而大大提高代码测试的效率,无论是Linux,Windows还是Mac,Googletest都支持两个都。其实Googletest已经发布很久了,只是最近几天被程序员爱好者送上了GitHub热榜,因为这个repository是GoogleTest和GoogleMock项目的合并。目前GitHub上有16.4Kstars,总共有6.4K个branches,可以说是非常火爆了。(Github地址:https://github.com/google/googletest)由于Googletest是基于流行的xUnit框架,所以如果你之前使用过JUnit或者PYUnit,那你肯定对Googletest的使用得心应手。如果没有,花时间学习基础知识可以让你很快上手。GoogleTest使用一系列断言(assertion)来进行代码测试。这些宏有点类似于函数调用。用户可以直接在这些断言宏后面加上“<<”,从而在断言命中时跟随他们想要的输出信息。例如:ASSERT_EQ(x.size(),y.size())<<"Vectorsxandyareofunequallength";for(inti=0;i
