软件测试之单元测试技能篇[2]

发表于:2010-03-16来源:作者:点击数: 标签:软件测试技能单元
软件测试之单元测试技能篇[2] 单元测试代码 二、Mock技术 Mock是目前单元测试中最常用的。用来在对象层次上实现细类度替换十分方便。 当我们在测试中,需要其它类/接口的一个方法时,我们可以通过继承/实现其一个子类对象来替换实际对象。在Mock子类中将需要

  软件测试之单元测试技能篇[2]   单元测试代码 

     二、Mock技术

  Mock是目前单元测试中最常用的。用来在对象层次上实现细类度替换十分方便。

  当我们在测试中,需要其它类/接口的一个方法时,我们可以通过继承/实现其一个子类对象来替换实际对象。在Mock子类中将需要的方法直接返回需要的结果就行了。

  privateclass Mock_QueryCtrl extends QueryCtrl

  {

  public List queryNEList()

  {

  List neList = new ArrayList();

  //直接填充并返回你需要的数据...

  return neList;

  }

  }

  同样,我们也可以通过测试待测类的子类来测试待测类。这对于被测方法使用了自身类的方法时很适用。

  三、依赖注入

  单元测试的一个关键就是替换。类层次上的替换,通过在类路径中提前加载就可以实现。而在对象层次上,java的反射机制提供了很好的帮助。

  1).获取/注入私有属性

  2).执行私有方法

  附:注入私有属性的实现:

  publicvoid setFieldObject(Object instance, String fieldName, Object value)

  throws IllegalArgumentException, IllegalAclearcase/" target="_blank" >ccessException,

  NoSuchFieldException {

  Field field = null;

  Class c = instance.getClass();  软件测试

  

原文转自:http://www.ltesting.net