0
我正在用JMockit中的本地方法嘲笑DAO方法。实际的DAO方法返回一个List,作为本地mock方法返回一个订单数组。 (这不是一个预期的设计,由于疏忽重构而导致这种情况)。但是,这仍然编译好,并且(不幸地)通过了测试用例。JMockit自动将Array转换为ArrayList
尽管我后来更正了我的模拟方法以与实际的DAO方法相匹配,但我想知道JMockit如何让我模拟这种方式。它如何不匹配返回类型?这是一个功能还是错误!
@Test
public void testApplyTemplate() throws Exception {
new Expectations() {
{
orderDAO.getOrders();
result = getOrdersMock();
}
};
myService.applyTemplate();
new Verifications() {
{
...
}
};
}
private Order[] getOrdersMock() {
Order[] ordersArray = null;
// create 9 dummy orders, o1 to o9
orderArray = new Order[] { o1, o2, o3, o4, o5, o6, o7, o8, o9 };
return orderArray;
}
public interface OrderDAO {
List<Order> getOrders();
}