У меня есть следующий объявление интерфейса:Хороший способ модульного тестирования Retorfit интерфейса декларации
public interface FundaService
{
@GET("/feeds/Aanbod.svc/json/{key}")
Observable<JsonResponse> queryData(@Path("key") String key, @Query("type") String type, @Query("zo") String search, @Query("page") int page, @Query("pagesize") int pageSize);
}
, что я использую после с Retrofit
. Каким будет элегантный способ тестирования, чтобы я не ошибался в объявлениях URL и параметрах запроса?
Я вижу, что могу издеваться над веб-слоем и проверять URL-адреса с параметрами.
UPDATE
Я изменил его:
public interface FundaService
{
String KEY_PATH_PARAM = "key";
String FEED_PATH = "/feeds/Aanbod.svc/json/{" + KEY_PATH_PARAM + "}";
String TYPE_QUERY_PARAM = "type";
String SEARCH_QUERY_PARAM = "zo";
String PAGE_QUERY_PARAM = "page";
String PAGESIZE_QUERY_PARAM = "pagesize";
@GET(FEED_PATH)
Observable<JsonResponse> queryData(@Path(KEY_PATH_PARAM) String key, @Query(TYPE_QUERY_PARAM) String type,
@Query(SEARCH_QUERY_PARAM) String search, @Query(PAGE_QUERY_PARAM) int page,
@Query(PAGESIZE_QUERY_PARAM) int pageSize);
}
И частично испытывая его, как:
public class FundaServiceTest
{
@Test
public void PathKeyIsCorrect()
throws Exception
{
assertThat(FundaService.KEY_PATH_PARAM).isEqualTo("key");
}
@Test
public void FeedPathIsCorrect()
throws Exception
{
assertThat(FundaService.FEED_PATH).isEqualTo("/feeds/Aanbod.svc/json/{key}");
}
}
Спасибо! Я собираюсь попробовать сегодня и приму ответ –