久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

使用 Retrofit2 和 Mockito 或 Robolectric 進行 Android 單

Android Unit Test with Retrofit2 and Mockito or Robolectric(使用 Retrofit2 和 Mockito 或 Robolectric 進行 Android 單元測試)
本文介紹了使用 Retrofit2 和 Mockito 或 Robolectric 進行 Android 單元測試的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我可以測試retrofit2beta4 的真實反應嗎?我需要 Mockito 還是 Robolectic?

Can I test real response from retrofit2beta4? Do i need Mockito or Robolectic?

我的項目中沒有活動,它將是一個庫,我需要測試服務器是否正確響應.現在我有這樣的代碼并卡住了......

I don't have activities in my project, it will be a library and I need to test is server responding correctly. Now I have such code and stuck...

@Mock
ApiManager apiManager;

@Captor
private ArgumentCaptor<ApiCallback<Void>> cb;

@Before
public void setUp() throws Exception {
    apiManager = ApiManager.getInstance();
    MockitoAnnotations.initMocks(this);
}

@Test
public void test_login() {
    Mockito.verify(apiManager)
           .loginUser(Mockito.eq(login), Mockito.eq(pass), cb.capture());
    // cb.getValue();
    // assertEquals(cb.getValue().isError(), false);
}

我可以做出虛假的回應,但我需要測試真實的.是成功嗎?身材對嗎?你能幫我寫代碼嗎?

I can make fake response, but I need to test real. Is it success? Is it's body correct? Can you help me with code?

推薦答案

答案比我想象的要簡單:

The answer is too easy than i expected:

使用 CountDownLatch 讓您的測試等到您調用 countDown()

Using CountDownLatch makes your test wait until you call countDown()

public class SimpleRetrofitTest {

private static final String login = "your@login";
private static final String pass = "pass";
private final CountDownLatch latch = new CountDownLatch(1);
private ApiManager apiManager;
private OAuthToken oAuthToken;

@Before
public void beforeTest() {
    apiManager = ApiManager.getInstance();
}

@Test
public void test_login() throws InterruptedException {
    Assert.assertNotNull(apiManager);
    apiManager.loginUser(login, pass, new ApiCallback<OAuthToken>() {
        @Override
        public void onSuccess(OAuthToken token) {
            oAuthToken = token;
            latch.countDown();
        }

        @Override
        public void onFailure(@ResultCode.Code int errorCode, String errorMessage) {
            latch.countDown();
        }
    });
    latch.await();
    Assert.assertNotNull(oAuthToken);
}

@After
public void afterTest() {
    oAuthToken = null;
}}

這篇關于使用 Retrofit2 和 Mockito 或 Robolectric 進行 Android 單元測試的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

EditText: Disable Paste/Replace menu pop-up on Text Selection Handler click event(EditText:禁用文本選擇處理程序單擊事件上的粘貼/替換菜單彈出)
Multiline EditText with Done SoftInput Action Label on 2.3(2.3 上帶有完成 SoftInput 操作標簽的多行 EditText)
How to detect the swipe left or Right in Android?(如何在 Android 中檢測向左或向右滑動?)
Prevent dialog dismissal on screen rotation in Android(防止在Android中的屏幕旋轉對話框解除)
How do I handle ImeOptions#39; done button click?(如何處理 ImeOptions 的完成按鈕點擊?)
How do you set EditText to only accept numeric values in Android?(您如何將 EditText 設置為僅接受 Android 中的數值?)
主站蜘蛛池模板: 81精品国产乱码久久久久久 | 亚洲欧美在线观看视频 | 在线 丝袜 欧美 日韩 制服 | 一级黄色片免费在线观看 | 欧美电影网 | 亚洲高清久久 | 国产精品乱码一区二三区小蝌蚪 | 日本在线观看网址 | 黄色日批视频 | 国产精品69毛片高清亚洲 | 一区二区三区不卡视频 | 国产高清视频一区二区 | 久久成人国产精品 | 日韩久草| 欧美xxxx在线 | 亚洲一二三区av | 久久精品国产亚洲一区二区 | 毛片一级片 | 天堂网中文字幕在线观看 | 男人天堂网址 | 久久精品在线免费视频 | 国产精品日韩在线观看一区二区 | 美女久久久久久久久 | 精品在线免费看 | 欧美老少妇一级特黄一片 | 久草热8精品视频在线观看 午夜伦4480yy私人影院 | 欧美日韩大片 | 欧美二区三区 | 国产美女在线观看 | 国产不卡一区在线观看 | 欧美极品一区二区 | 1级毛片| 欧美日韩综合精品 | 成人黄色三级毛片 | 精品国产乱码久久久久久丨区2区 | 91免费在线 | 久久精品国产久精国产 | 国产日韩欧美一区二区在线播放 | 国产精品一区二区三区在线 | 日韩欧美精品在线 | 天天插天天射天天干 |