我正在模拟一个名为EmailSender的类,它有一个方法sendEmail()
,该方法接受类Email的参数。我试图验证我的mockEmailSender
将使用预期的Email
类调用sendEmail
函数一次:verify(mockEmailSender, times(1)).sendEmail(expectedEmail)
class Email {
String title;
List<String> receipients;
EmailBody body;
}
我正在初始化预期的电子邮件对象,如下Email expectedEmail = Email.builder().setRecipients(//example list).setTitle("Test title").setBody(//make this not matter)
在忽略body字段的同时如何使其工作?所以我只是想检查sendEmail()
方法是否使用expectedEmail
调用,并且expectedEmail
具有我设置的所有字段,同时忽略某些字段,例如我不希望显式设置的body字段。
ArgumentMatchers.refEq
匹配器可以帮助您轻松忽略您不关心的字段:
verify(mockEmailSender, times(1)).sendEmail(refEq(expectedEmail, "body"));