如何使用mocka方法返回结果对象

时间:2015-03-31 20:34:31

标签: junit mockito

所以我有一个经理-Dao,我想进行单元测试

public Bill createBill(Order order){
   Bill bill = new Bill();
   [...] do stuff

   return dao.save(bill)
}

我想要的dao.save(bill)方法什么也不做,并返回创建的账单。不知道怎么做。

2 个答案:

答案 0 :(得分:1)

看起来你想要returnsFirstArg

when(dao.save(any(Bill.class))).thenAnswer(AdditionalAnswers.returnsFirstArg());

答案 1 :(得分:-2)

有两种想法:

1。)扩展DAO并覆盖save方法以执行您想要的操作。 2.)编写DAO实现的接口,通过对接口的引用交换对DAO的引用,然后制作自己的“模拟”DAO,用于执行您希望它执行的单元测试。

第二个是更多的工作,但对我个人来说似乎更清洁。