2016-03-07 33 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。

回答