У меня есть несколько модульных тестов, которые используют Squares OkHttp
s MockWebServer
. Тесты проходят нормально, все работает очень хорошо. Единственное, что я пока не смог сделать, это проверить содержимое POST-запросов.
Почему я хочу это сделать?
REST API, для которого я разрабатываю, имеет некоторые методы, которые требуют, чтобы объекты данных отправлялись в теле запроса POST, другие методы требуют, чтобы объекты были отправлены как FormUrlEncoded
данные поле. Поэтому я хочу убедиться, что интерфейс Retrofit
был настроен правильно в соотв. к спец.
Следующий юнит-тест пройдёт, но первый неправильно отправляет данные внутри тела:
//Incorrect
@POST("api/v1/user/senddata")
Observable<Void> senddata (
@Path("VIN") String vin,
@Body PoiWrapper wrappedPoi);
//Correct
@FormUrlEncoded
@POST("api/v1/user/senddata")
Observable<Void> senddata(
@Path("VIN") String vin,
@Field("data") PoiWrapper wrappedPoi);
Я знаю, что у MockWebServer
есть метод takeRequest()
, но я застрял с получением фактического поля и данных из тела этого запроса.
Спасибо за помощь!