我有一個(gè)調(diào)用事件發(fā)布者的方法,我想驗(yàn)證對(duì)該發(fā)布者的調(diào)用。public void submitRegistrationForm(String registrationKey, RegistrationFormSubmitDTO registrationFormSubmitDTO) {
applicationEventPublisher.publishEvent(new RegistrationCompletedEvent(this, targetCustomerRegistration));
}所以,我模擬了 applicationEventPublisher 類,并且我已經(jīng)像這樣驗(yàn)證了對(duì)它的調(diào)用:verify(applicationEventPublisher, times(1)).publishEvent(any(RegistrationCompletedEvent.class));但我被告知不要使用任何(),而是我需要構(gòu)建具體實(shí)例。我如何驗(yàn)證以“this”為參數(shù)的方法。
1 回答

紫衣仙女
TA貢獻(xiàn)1839條經(jīng)驗(yàn) 獲得超15個(gè)贊
您可以使用參數(shù)捕獲器來(lái)捕獲 RegistrationCompletedEvent 并對(duì)其斷言...
ArgumentCaptor<RegistrationCompletedEvent > argument = ArgumentCaptor.forClass(RegistrationCompletedEvent .class);
verify(applicationEventPublisher).publishEvent(argument.capture());
assertEquals("whatever", argument.getValue().something());
添加回答
舉報(bào)
0/150
提交
取消