Mockito -使用预期参数验证方法调用,但忽略某些字段



我正在模拟一个名为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"));

最新更新