2 回答

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超7個(gè)贊
作為單元測(cè)試的一部分,我認(rèn)為不需要定義myService.execute方法的行為。定義行為有點(diǎn)不必要
Mockito.doAnswer((i) -> {
System.out.println("I am here");
return null;
}).when(serviceObject).execute();
您可以刪除上面的代碼。
驗(yàn)證該execute方法被調(diào)用的次數(shù)是否正確就足夠了。要回答您的問(wèn)題,一個(gè)建議是使用基于構(gòu)造函數(shù)的注入。基本上創(chuàng)建一個(gè)構(gòu)造函數(shù)MyDelegate并注入Myservice。并在測(cè)試中,執(zhí)行以下操作:
MyService serviceObject = Mockito.mock(MyService.class);
MyDelegate delegate = new MyDelegate(serviceObject);
如果您不想在委托類中使用基于構(gòu)造函數(shù)的注入,則其他選擇是在測(cè)試中使用@InjectMocks和@Inject。
添加回答
舉報(bào)