Создайте свою первую фиктивную конечную точку API с помощью WireMock

Опубликовано: 5 Октября, 2022

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 есть много вещей, которые можно изучить, и его очень полезные инструменты для разработчика для выполнения интеграции и модульного тестирования.