ExponentialBackoffTest.java 文件源码

java
阅读 17 收藏 0 点赞 0 评论 0

项目:RetrofitRxErrorHandler 作者:
@Test
public void testBackoffOneTime1() throws Exception {
    mockWebServer.setDispatcher(new Dispatcher() {
        @Override
        public MockResponse dispatch(RecordedRequest request) throws InterruptedException {
            if (mockWebServer.getRequestCount() == 1) {
                return new MockResponse().setResponseCode(500);
            } else if (mockWebServer.getRequestCount() == 2) {
                return MockWebServerUtils.getSuccessfulResponse();
            }
            return new MockResponse().setResponseCode(404);
        }
    });
    RxCallAdapter rxCallAdapter = new RxCallAdapter.Builder()
            .addBackoffStrategy(Exponential.init()
                    .addThrowable(HttpException.class)
                    .setMaxRetries(3).build())
            .build();
    GitHub github = createRetrofitInstance(mockWebServer.url("/").toString(),
            new RxErrorHandingFactory(rxCallAdapter));

    Observable observable = github.repos("square");
    TestObserver testObserver = observable.test();
    testObserver.awaitTerminalEvent();
    assertEquals(1, testObserver.valueCount());
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号