软件测试之单元测试技能篇[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, IllegalAccessException,
NoSuchFieldException {
Field field = null;
Class c = instance.getClass(); 软件测试
文章来源于领测软件测试网 https://www.ltesting.net/