如何模拟方法以返回结果对象



所以我有一个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,用于执行您希望它执行的单元测试。

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

相关内容

  • 没有找到相关文章

最新更新