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 , mockitoeasymock

基本思想是创建一个模拟 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); 


标签:java
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号