软件测试之单元测试技能篇[1] 单元测试方法
节是单元测试系列的第二篇。重点讲解如何使用Mock/Stub和依赖注入技术进行单元测试。关于工具JUnit等则不做累赘介绍。 希望通过本章能够帮助大家开始单元测试的有益实践,与大家共勉!
单元测试(技能篇)
一、Stub技术
这是最为古老的一种测试技能。通过类层次上的替换实现了对待测环境的模拟。
实现的时候有两种途径:
1、重写实际类,在测试时,先于实际类加载,即覆盖。如:我们在unittest/stub文件夹下针对于每一个重写类都有相同的包结构和类名:
在类路径中优先加载:
2、在实际代码中添加判断。比如,如果当前是测试环境if(isUT)执行XX操作,截断真正需要做的事。
publicvoid sendCommand(int cmdCode)
{
if(isUT())
{
//...
}
else
{
//...
}
}
Stub技术的问题就在于我们在重写这些类的时候,不仅仅要关注接口,还要关注其内部逻辑。如果你只是简单的返回一个固定的响应,会很简单。但是对于每一次运行需要根据不同的输入返回不同的输出时方法内部的处理就会复杂的多。软件测试
由于实现的难度,所以,使用时就要注意:有高价值、重用度高、数量少。这就是说,重写一个类,就可以有一大批类可以用。
文章来源于领测软件测试网 https://www.ltesting.net/