Если не хочется ждать реализации бэка
🔵Charles/Proxyman и т.д.
Программы-снифферы, которые позволяют перехватывать и модифицировать трафик через UI-кнопочки
код писать не надо, но придется разобраться куда тыкать
а также не очень удобно проверять сложные сценарии, когда важно замокать несколько запросов подряд
🔵Ktor и другие простые серверы
Можно быстро (за 20 строк кода и 2 запроса к нейронке) набросать свой локальный сервер, который позволит на определенные запросы получать определенные ответы
получаем почти реальный сервер с полной свободой действий
embeddedServer(Netty, port = 8080) {
routing {
get("/shop/{category}/{id}") {
val category = call.parameters["category"]
val id = call.parameters["id"]
call.respondText("Категория: $category, ID товара: $id")
}
}
}.start(wait = true)🔵MockWebServer от OkHttp
Это самая легкая штука. По сути класс, в который можно накидать респонсов, а потом по-очереди их забрать
// псевдокод
val server = MockWebServer()
server.enqueue("1")
server.enqueue("2")
api.load() // "1"
api.load() // "2"
из плюсов:
🔵можно быстро набросать unit-тест со сложным сценарием
🔵можно эмулировать плохую сеть / задержки. причем задержки отдельно на отдачу body, отдельно на отдачу headers...
🔵можно быстро протестить TLS-ошибки и другие ошибки сети