3
我想檢查我的API是提供一個單元測試中,以確保其與200Android的本地測試VS儀表測試
現在迴應,我的問題是,我真的不知道何時使用本地測試以及何時必須使用Android儀器測試。我知道我必須使用Instrumented測試進行UI測試,但是如何測試端點?
我使用Retrofit2進行通信。並試圖用本地測試以兩種方式測試端點。
例1(同步,不工作)
public class EndpointTest {
EndpointApi api;
SimpleInjection simpleInjection;
@Before
public void setUp() {
simpleInjection = new SimpleInjection();
api = simpleInjection.getEndpointApi();
}
@Test
public void endpoint_1_isAvailable() {
Call<ApiResponse> rootCall = api.getRoot();
try {
int reponseCode = rootCall.execute().code();
Assert.assertEquals(200, reponseCode);
} catch (IOException e) {
Assert.fail();
}
}
}
例2(異步的,做的工作)
public class EndpointTest {
EndpointApi api;
SimpleInjection simpleInjection;
@Before
public void setUp() {
simpleInjection = new SimpleInjection();
api = simpleInjection.getEndpointApi();
}
@Test
public void endpoint_2_isAvailable() {
Call<ApiResponse> rootCall = api.getRoot();
rootCall.enqueue(new Callback<ApiResponse>() {
@Override
public void onResponse(Call<ApiResponse> call, Response<ApiResponse> response) {
Assert.assertEquals(200, response.code());
}
@Override
public void onFailure(Call<ApiResponse> call, Throwable t) {
Assert.fail();
}
});
}
}
我一定要使用Android儀器測試異步模式?
你有同步和異步標題混合,從代碼示例1看起來同步,而示例2看起來異步 – Bhargav
是的,這是真的。已經更正。謝謝 – shadox