java之如何在 JUnit 中模拟 ERP 系统
你猜
阅读:28
2024-09-07 23:24:14
评论:0
我正在致力于将 JUnit 测试添加到企业解决方案的 Web 服务中。我的问题是;如果可能的话,我该如何在 JUnit 测试中模拟 ERP 系统?
例如,我有一个 getOrders(Connection con, String customerId)
方法。但是,它会调用 ERP 系统列出所有订单,例如:
public List<Order> getOrders(Connection con, String customerId) {
// Call ERP system
orders = con.fetchOrders(customerId);
// Manipulate result
orders...
return orders;
}
有什么方法可以模拟 ERP 连接?
请您参考如下方法:
我假设你的意思是模拟 Connection 对象?目前还不清楚 Connection 是一个接口(interface)还是一个类。一些模拟对象库仅适用于接口(interface)。这里有一些比较流行的 Java 模拟对象库 jmock , mockito和 easymock
基本思想是创建一个模拟 Connection
对象并让它返回您要测试的数据。
例如使用easymock:
String customerId =...
List<Order> myOrders = ...
Connection mockConnection = EasyMock.createMock(Connection.class);
EasyMock.expect(mockConnection.fetchOrders(customerId)).andReturn(myOrders);
EasyMock.replay(mockConnection);
//call system under test:
List<Orders> results = getOrders(mockConnection, customerId);
List<Orders> expectedResults = ....
assertEquals(expectedResults, results);
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。