最近看了很多大神的文章,加之对于最近工作以及职业生涯的一些思考,终于开始写自己的第一篇技术博客了,虽然做软件开发也是多年,但是似乎没有对自己之所学及所做进行过持续的总结和思考,所以开此博客权作对于自己的督促与总结。
C++已经不是一门新兴的语言了,但是本人由于工作的原因却是刚刚才开始使用其进行项目的开发,所以写下此篇总结自己前端UnitTest开发中的认识与感悟。
UT应该说是程序员的本职工作之一,无论是使用哪种语言,进行单元测试都是开发所必不可少的一项内容。那么UT主要目标是什么呢?就是完成单一函数的功能测试,也就是说要测试在不同的情况下函数的不同行为(分支执行是否正确, 是否给予正确的返回值),函数无非也是根据不同的情况对于数据进行不同的处理。那么对于本人来说, UnitTest也就是来验证函数是否被调用,以及返回值是否正确。
这里使用了GTEST以及GMOCK两个google的开源项目来进行单元测试。至于这两个开源项目的使用介绍网络上已经有大量的文章来说明,所以这里仅总结如何使用它们来解决以上的两个问题。
- 返回值及参数值验证
这里来看一个简单而又stupid的函数, 相信几乎没有人会在实际代码中使用这样的函数:
int foo(int i)
{
return i;
}
那么对于这个函数如何测试呢?这里就要用到GTEST的框架,当然我们也可以开发自己的框架来进行测试,不过GTEST则是方便、可