第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

制作一個服務(wù)模擬列表以隨機(jī)返回所需的值?

制作一個服務(wù)模擬列表以隨機(jī)返回所需的值?

猛跑小豬 2022-01-19 16:53:34
我有一個包含其他服務(wù)列表的服務(wù)public class MyFrontService {    @Autowired    private Set<? extends MyAbstractService> allMyServices;}它運行集合中的所有服務(wù)。這是 MyAbstractService 的簽名public abstract class MyAbstractService {     boolean myMethod();}如果 allMyServices 中的任何服務(wù)返回 false,則 myFrontService 返回 false;只有當(dāng)它的所有服務(wù)都返回 true 時,它才會返回 true。我想知道如何使用 Java 8 方式對 MyFrontService 進(jìn)行單元測試。理想情況下,我可以指定一組服務(wù)返回 true,而其他服務(wù)返回 false。非常感謝任何幫助/提示
查看完整描述

2 回答

?
偶然的你

TA貢獻(xiàn)1841條經(jīng)驗 獲得超3個贊

這不是 Java 8 特定的,但在您的測試框架內(nèi),您可以創(chuàng)建擴(kuò)展 MyAbstractService 的“假”測試服務(wù)類,每個類都確定性地成功或失敗。在這些測試類中,您可以重寫方法以生成 MyFrontService 將要檢查的特定結(jié)果。


查看完整回答
反對 回復(fù) 2022-01-19
?
UYOU

TA貢獻(xiàn)1878條經(jīng)驗 獲得超4個贊

您可以在服務(wù)的測試類中使用 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(空對象,具有與創(chuàng)建它的類相同的功能和屬性,但除非您添加“何時”,否則什么都不做)并使用您定義的“何時”,每次 myMethod()當(dāng)調(diào)用對象時,它會返回您在 when() 的 thenReturn() 中寫入的任何內(nèi)容。因此,每次為 mockAbstractService1 調(diào)用 myMethod() 時,它都會返回 true,而為 mockAbstractService2 調(diào)用 myMethod 時會返回 false。


查看完整回答
反對 回復(fù) 2022-01-19
  • 2 回答
  • 0 關(guān)注
  • 154 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號