2 回答

TA貢獻(xiàn)1841條經(jīng)驗(yàn) 獲得超3個(gè)贊
這不是 Java 8 特定的,但在您的測(cè)試框架內(nèi),您可以創(chuàng)建擴(kuò)展 MyAbstractService 的“假”測(cè)試服務(wù)類,每個(gè)類都確定性地成功或失敗。在這些測(cè)試類中,您可以重寫方法以生成 MyFrontService 將要檢查的特定結(jié)果。

TA貢獻(xiàn)1878條經(jīng)驗(yàn) 獲得超4個(gè)贊
您可以在服務(wù)的測(cè)試類中使用 Mockito,也許可以嘗試:
MyAbstractService mockAbstractService1 = mock(MyAbstractService.class);when(mockAbstractService1.myMethod()).thenReturn(true);MyAbstractService mockAbstractService2 = mock(MyAbstractService.class);when(mockAbstractService2.myMethod()).thenReturn(false); HashSet<MyAbstractService> abstractServices = new HashSet<MyAbstractService>();abstractServices.Add(mockAbstractService1);abstractServices.Add(mockAbstractService2);MyFrontService testFrontService = new MyFrontService();testFrontService.allMyServices = abstractServices;
像這樣,您創(chuàng)建 Mocks(空對(duì)象,具有與創(chuàng)建它的類相同的功能和屬性,但除非您添加“何時(shí)”,否則什么都不做)并使用您定義的“何時(shí)”,每次 myMethod()當(dāng)調(diào)用對(duì)象時(shí),它會(huì)返回您在 when() 的 thenReturn() 中寫入的任何內(nèi)容。因此,每次為 mockAbstractService1 調(diào)用 myMethod() 時(shí),它都會(huì)返回 true,而為 mockAbstractService2 調(diào)用 myMethod 時(shí)會(huì)返回 false。
添加回答
舉報(bào)