本文主要是介绍利用创建JMock模拟session,packet等必要的类。并构建模拟类虚拟的返回值。执行HANDLER方法,截取方法参数来检测程序正确性...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
需要的几个包. 只是编译时的lib,方在文件夹compile-lib中:两个简单的例子:
1、测试DAO方法:
思路:创建一个测试数据(不会重复创建),在测试环境中跑DAO方法,然后断言结果。
MailDAOTestCase.java:
INIT_MAIL = “xxx”; 是初始库表测试数据的SQL。
在执行每一个Test时总会先执行@before方法,执行完毕后测试方法后再执行@After方法
该方法测试mailDAO查询收邮件总量
Assert断言其值总是大于0的。
2、 测试Handler方法
思路: 利用创建JMock模拟session,packet等必要的类。并构建模拟类虚拟的返回值。执行HANDLER方法,截取方法参数来检测程序正确性。(现在做的是截取session.send()方法的Packet参数,测试协议格式)
MailHandlerTestCase.java:
context是JMock的对象,主要由它负责创建虚拟对象。
a、模拟一个packet对象
模拟返回值:
设置一个Expectations
执行一次(packet)的getInt()方法;将(放回(-1))//serial
b、测试参数
执行一次(session).send(packet);方法时,将适配以下规则
该方法抛出异常时返回:“("PacketMatcher : 协议返回格式错误"); ”测试失败提醒。
总结:
使用junit+jmock可以方便的使用以下特性:
1、 测试方法执行结果返回值;
2、 模拟目标方法所需参数;
3、 检测目标方法内部生成对象的合法性(pt = new Packet();.session.send(pt););
这篇关于利用创建JMock模拟session,packet等必要的类。并构建模拟类虚拟的返回值。执行HANDLER方法,截取方法参数来检测程序正确性...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!