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();
}