如何测试传递给模拟对象的函数接口 [Mockito, Spring]



我有一个MailService类,我想对其进行单元测试。它调用JavaMailSender#send方法,该方法接受MimeMessagePreparator函数接口作为参数。然后,JavaMailSender类将调用 MimeMessagePreparator#prepare。

但是,由于JavaMailSender对象将在此单元测试中被模拟,因此不会在我的测试中调用prepare方法。当MimeMessagePreparator的方法仅从模拟对象中调用时,对进行单元测试的正确方法是什么?

我知道我可以单独创建MimeMessage并将其作为参数传递给send方法,但如果这不是一个选项,有没有办法测试上述内容?

你有没有考虑过用间谍而不是模拟?

您可以监视 JavaMailSender 实例,然后验证是否已调用 MimeMessagePreparator#prepare。

相关内容

  • 没有找到相关文章

最新更新