Создайте свою первую фиктивную конечную точку API с помощью WireMock
WireMock — это инструмент для имитации API-интерфейсов на основе HTTP, который запускается в модульных тестах, на рабочем столе или в тестовой среде. Мы также можем сказать, что это симулятор API-интерфейсов на основе HTTP, который считается инструментом виртуализации служб или фиктивным сервером . Это позволяет вам оставаться продуктивным, когда API, от которого вы зависите, не существует, не является полным или доступ к нему обходится дорого. Он поддерживает тестирование пограничных случаев и режимов отказа. Это быстро, поэтому значительно сокращает время сборки. Проще говоря, Wiremock — это макет для интеграционного тестирования. Он в основном используется во время разработки и, что более важно, во время интеграционного тестирования, когда система или служба общаются с одной или несколькими внешними или внутренними зависимостями/службами.
Read more about WireMock in this article: Introduction to WireMock
В этой статье мы собираемся создать нашу первую фиктивную конечную точку API с помощью WireMock и Postman.
Пошаговая реализация
Шаг 1:
Обратитесь к этой статье Загрузка и установка WireMock и запустите WireMock как автономный процесс в вашей локальной системе.
Шаг 2:
После успешного запуска сервера WireMock давайте перейдем к следующей конечной точке в вашем локальном браузере и посмотрим, что произойдет.
http://localhost:8080/testapi
Таким образом, вы получите такое сообщение. Обратитесь к изображению ниже.
No response could be served as there are no stub mappings in this WireMock instance.
Вы получите такое же сообщение и в консоли WireMock. Обратитесь к изображению ниже.
Итак, что это значит? Это означает, что макеты не устанавливаются. Итак, давайте создадим этот фиктивный API « http://localhost:8080/testapi », а затем снова воспользуемся этим API.
Шаг 3:
Откройте Postman и создайте запрос POST . И поместите следующий URL
http://localhost:8080/__admin/mappings
Note: There is two underscore “_” before the admin. You may consider it like this “_ _admin”
Итак, что мы делаем, так это отправляем запрос CURL POST на http://localhost:8080/__admin/mappings , и это место, где будут храниться все сопоставления для сервера Wiremock, которые мы выполнили или запустили через файл JAR.
Шаг 4:
И в теле запроса напишите файл JSON, как показано ниже.
{ "request": { "url": "/testapi", "method": "GET" }, "response": { "status": 200, "body": "Welcome to GeeksforGeeks!" } }
Итак, здесь мы определяем параметры запроса, такие как URL-адрес и метод запроса, а также тело ответа в разделе «Ответ». Это просто означает, что всякий раз, когда приходит запрос GET с URL-адресом /testapi, он отвечает указанным телом ответа, например «Добро пожаловать в GeeksforGeeks!» для этого примера. И нажмите кнопку Отправить . И в ответ вы получите что-то вроде этого
{ "id": "6197ad08-73d3-4eef-bd79-340c6f5c7145", "request": { "url": "/testapi", "method": "GET" }, "response": { "status": 200, "body": "Welcome to GeeksforGeeks!" }, "uuid": "6197ad08-73d3-4eef-bd79-340c6f5c7145" }
Обратитесь к изображению ниже, если вы где-то застряли.
Шаг 5:
Теперь давайте снова нажмем ту же конечную точку ( http://localhost:8080/testapi ) и посмотрим, что произойдет.
Да! на этот раз мы получили наш результат. Итак, мы успешно создали нашу первую конечную точку Mocked API с помощью WireMock и Postman. Точно так же вы можете поиграть с ним, и в WireMock есть много вещей, которые можно изучить, и его очень полезные инструменты для разработчика для выполнения интеграции и модульного тестирования.