我有一個調用事件發布者的方法,我想驗證對該發布者的調用。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());
添加回答
舉報
0/150
提交
取消