所以我有一个Manager Dao,我想对进行单元测试
public Bill createBill(Order order){
Bill bill = new Bill();
[...] do stuff
return dao.save(bill)
}
我想要的dao.save(bill)方法只是什么都不做,并返回创建的bill。不知道该怎么做。
看起来您想要returnsFirstArg
。
when(dao.save(any(Bill.class))).thenAnswer(AdditionalAnswers.returnsFirstArg());
想到两种方法:
1.)扩展DAO并覆盖save方法以执行您想要的操作。2.)编写一个DAO实现的接口,将对DAO的引用与对接口的引用交换,然后制作自己的"模拟"DAO,用于执行您希望它执行的单元测试。
第二个是更多的工作,但对我个人来说似乎更干净。