我正在模拟一个名为 EmailSender 的类,它有一个方法 sendEmail()
它接受类电子邮件的参数。我正在尝试验证我的 mockEmailSender
将调用 sendEmail
用预期的 Email
函数一次这样的类: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
matcher 可以帮助您轻松忽略您不关心的字段:
verify(mockEmailSender, times(1)).sendEmail(refEq(expectedEmail, "body"));
关于java - Mockito - 使用预期参数验证方法调用但忽略某些字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69723432/