24分钟学会用JMock进行单元测试[2] 单元测试代码
在工程中导入jmock-1.0.1.jar ,jmock-cglib-1.0.1.jar ,cglib-full-2.0.jar 三个jar包,然后在JUnit中执行BusinessTest.java,会显示绿棒,这样,在没有数据库的情况下,单元测试成功。
使用JMock模拟类的条件:
1、要有无参数的构造器;
2、构造器是public;
这样对于private的构造器或单例模式的类应该是无法模拟了。这样就要求我们养成针对接口编程的习惯,对接口用JMock进行模拟将不受这些限制。只需要将
import org.jmock.cglib.MockObjectTestCase;
import org.jmock.cglib.Mock;
改为
import org.jmock.MockObjectTestCase;
import org.jmock.Mock;
即可。
对于Mock类,有很多API可供使用,比如:
isA(Class clz) 表示为某个类
isVoid() 将will()换成isVoid()表示无返回值
详细API可以参考一下DOC,还会找到很多有用的东西。软件测试
文章来源于领测软件测试网 https://www.ltesting.net/