为了账号安全,请及时绑定邮箱和手机立即绑定

当实例将“this”作为参数时,我如何验证对模拟实例的调用

当实例将“this”作为参数时,我如何验证对模拟实例的调用

莫回无 2023-04-13 15:23:21
我有一个调用事件发布者的方法,我想验证对该发布者的调用。public void submitRegistrationForm(String registrationKey, RegistrationFormSubmitDTO registrationFormSubmitDTO) { applicationEventPublisher.publishEvent(new RegistrationCompletedEvent(this, targetCustomerRegistration));   }所以,我模拟了 applicationEventPublisher 类,并且我已经像这样验证了对它的调用:verify(applicationEventPublisher, times(1)).publishEvent(any(RegistrationCompletedEvent.class));但我被告知不要使用任何(),而是我需要构建具体实例。我如何验证以“this”为参数的方法。
查看完整描述

1 回答

?
紫衣仙女

TA贡献1839条经验 获得超15个赞

您可以使用参数捕获器来捕获 RegistrationCompletedEvent 并对其断言...


ArgumentCaptor<RegistrationCompletedEvent > argument = ArgumentCaptor.forClass(RegistrationCompletedEvent .class);

verify(applicationEventPublisher).publishEvent(argument.capture());

assertEquals("whatever", argument.getValue().something());


查看完整回答
反对 回复 2023-04-13
  • 1 回答
  • 0 关注
  • 129 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号