Kevin's Java Life

喝一杯咖啡,生活变得从容和清新
随笔 - 3, 文章 - 12, 评论 - 1, 引用 - 0
数据加载中……

关于mock object的使用

今天看到一篇日志最好不要滥用mock对象,谈到了mock object时造成测试代码的难以维护,以及这样一个观点:单元测试应尽量避免白盒测试,而使用黑盒测试。

对于测试代码的维护问题,我目前尚未大量使用unit test,没有什么体会,就目前而言,我觉得使用mock object还是比较简单的,代码也很清晰,应该没有维护之虞。

对于“单元测试应尽量避免白盒测试,而使用黑盒测试”,我有点疑惑了,如果单元测试不使用白盒测试,那么什么样的测试才能使用白盒测试呢?什么时候才能使用白盒测试呢?单元测试把测试范围局限在一个功能单元之内了,应该说是最细的粒度了,此时应该是测试业务逻辑最好的时候啊。文章把Rod Johnson给搬出来了,回去我再查查Rod Johnson的Expert One-on-One看看。

关于什么时候该使用mock object,以下观点不错:
使用Mock Object的场合 
      实际对象的行为还不确定。 
      实际的对象创建和初始化非常复杂。 
      实际对象中存在很难执行到的行为(如网络异常,数据库异常等)。 
      实际的对象运行起来非常的慢。 
      实际对象是用户界面程序。 
      实际对象还没有编写,只有接口等。

posted on 2005-06-14 11:47 Kevin 阅读(457) 评论(0)  编辑  收藏 所属分类: 单元测试


只有注册用户登录后才能发表评论。


网站导航: