Chinaunix首页 | 论坛 | 博客
  • 博客访问: 562773
  • 博文数量: 107
  • 博客积分: 3079
  • 博客等级: 少校
  • 技术积分: 1306
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-08 00:03
个人简介

emmoblin.github.com

文章分类

全部博文(107)

文章存档

2012年(8)

2011年(15)

2010年(49)

2009年(9)

2008年(26)

分类: LINUX

2010-08-08 18:06:05

今天研究了一下cmockery,这是一个google开源的c mock测试框架。
最主要的功能就是其mock的功能,就是可以模拟函数的返回结果,还可以模拟参数的输入和输出。
 
mock的根本思想就是针对测试代码进行单独测试,尽量抛弃对其他模块或者函数的依赖。
用得最多的就是数据库测试,比如一个函数调用数据库,从中取出一些数据,如果没有mock机制,那就必须组织数据库,提供真的环境。这多少有些太麻烦了。
所以只需要模拟返回数据库返回的值就行了。这就是叫mock。
 
 
这是一个例子:
 
还有在lua测试框架中,还有一个简单的库,叫lmock,提供简单的lua中的mock的功能。
 
 
 但是我觉得这种mock的方法,实际上是要通过修改链接来完成的,对于代码的组织要求比较高。基本上这些模拟的外接口都要独立在不同的文件中,这样才好mock。


阅读(2505) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~