测试与持久化:模拟对象与 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() 和
超级会员免费看
订阅专栏 解锁全文
980

被折叠的 条评论
为什么被折叠?



