2016-03-07 53 views
1

我使用MockRetrofit(改進2快照4)來模擬服務器apis。MockRetrofit不允許避免網絡錯誤

NetworkBehavior networkBehavior = NetworkBehavior.create(); 

networkBehavior.setFailurePercent(1); 
networkBehavior.setDelay(500, TimeUnit.MILLISECONDS); 

MockRetrofit mockRetrofit = new MockRetrofit.Builder(retrofit) 
    .networkBehavior(networkBehavior) 
    .build(); 

BehaviorDelegate<FinderCommonApis> delegate = mockRetrofit.create(FinderCommonApis.class); 
finderCommonApis = new MockFinderCommonApis(delegate); 

我也在我的測試用例中使用這個模擬。由於NetworkBehavior,我的測試案例間歇性失敗。它引入了導致間歇性故障的網絡錯誤。我想完全避免這種網絡錯誤,但看起來我完全可以避免這種錯誤。我甚至試圖設置失敗百分比爲0,但它不允許。因此,我將可能的最低值設置爲1.他們在MockRetrofit.Builder中設置NetworkBehavior爲可選項,但它提供了自己的默認值NetworkBehavior,這也引入了相同的網絡錯誤。我檢查了NetworkBehavior代碼,並且他們已經完成了最終的課程,所以我無法覆蓋它。我想盡辦法避免這個問題。

我只想知道如何完全避免NetworkBehavior。

回答