Простое руководство по модульному тестированию конечных точек RESTful API в Go

Продолжая улучшать базовую настройку в разделе Создание API в Go Beyond Hello World, мы рассмотрим подход к модульному тестированию конечных точек API.

Потребуется небольшой рефакторинг базового проекта, чтобы сделать модульный тест кода удобным, однако он должен быть интуитивно понятным.

TL;DR
Исходный код: https://github.com/oliversavio/youtube-vid-code/tree/unit-test/go-api-starter

Смотреть видео, а не читать?

Бонус: я добавил несколько прикольных мелодий!!

Инкапсулировать создание сервера

Создайте структуру для приложения волокна, она также может содержать службы и действовать как механизм внедрения зависимостей.

Создание и тестирование сервера

Теперь в модульных тестах мы можем создать экземпляр сервера и предоставить ему необходимые фиктивные реализации службы. Как видно из примера в коде, файбер дает нам возможность вызывать метод Тест, который принимает http-запрос и возвращает ответ. Приведенный ниже фрагмент кода представляет собой слегка измененную версию примеров, предоставленных fiber.

Определение и имитация сервисного слоя

Определение службы как интерфейса позволяет нам использовать фиктивные реализации во время модульного тестирования.

Настройка и модульное тестирование с таким подходом гарантируют, что мы протестируем нашу конфигурацию из

Конечная точка -> Маршрут -> Обработчик -> Сервисный уровень

Ссылки и ссылки