6、测试与持久化:模拟对象与 Hibernate 实战

测试与持久化:模拟对象与 Hibernate 实战

1. 模拟对象在测试中的应用

在测试中,为了实现代码的隔离测试,我们可以使用模拟对象。以下是一个示例代码:

Mock customerMock = new Mock(Customer.class);
customerMock.matchAndReturn("getName", "Duke");
customerMock.matchAndReturn("getAddress", "101 Java Dr., San Jose, CA 95126");
customerMock.matchAndReturn("getEmail", "duke@ilovejava.com");
customerMock.matchAndReturn("getNumber", new Long(123));
Customer customer = (Customer) customerMock.proxy();

matchAndReturn() 方法的作用是,当调用指定名称的方法时,返回预设的值。这种方式虽然看起来更复杂,但实际上赋予了我们更大的测试能力。我们甚至可以在 CustomerImpl 类还未创建时,就编写 Checkout 的单元测试,真正实现了单元测试的隔离运行。

需要注意的是,在上述示例中,对预期结果没有设置约束条件。对于无参数的方法,显然不需要提供约束。因此,API 提供了像 matchAndReturn()

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值