Задать вопрос
teknik2008
@teknik2008
Расскажите про GOLANG. Мне интересно

Как тестируют микросервисы на интеграцию?

Я не могу понять как протестировать сервис и понять какой запрос отправил тестируемый сервис на другой сервис, мне нужно знать какие данные отправил.
Я использую supertest - я отправляю запрос в тестируемый сервис, он его модифицирует и отправляет дальше, вопрос в том как понять в каком виде улетели данные дальше. Я так понимаю мне надо что-то ввиде мока который будет хранить последний к себе запрос и я могу его в тесте проверить на соответствие. Я не могу найти вменяемый пример как это сделать. Если есть кусок кода или библиотека на которую посмотреть, пните - я пойду дальше. Всем спасибо.
  • Вопрос задан
  • 1256 просмотров
Подписаться 8 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 4
kit_de
@kit_de
Моя... Твоя... Привет!
Нифига себе, мокать сервисы через Virtual Box советуют)))

Вот npm библиотека для мокания сервисов - nock называется. С Mocha работает на "Ура!". Это вариант попроще.

Если хочешь чего-то супер-пупер мощного, рекомендую Pact. Это суровая и сложная софтина, но работает зашибись. Это вариант посложнее.
Вот тебе парочка ссылок, чтобы быстрее вник в суть:

Народ, добавил ссылку на свой репозиторий с песочницей для пакта. Кто хочет быстро разобраться в чем суть - милости прошу. Там есть consumer, provider, pact, config for pact broker. В первый раз заливаю репу для сообщества - звезданите репозиторий молодого автора)
Ответ написан
Комментировать
@fubaro
Для трассировки запроса используют opentracing стандарт, реализация - jaeger, zipkin.
Чтоб зафиксировать структуру реквеста/респонса можно использовать swagger, grpc или просто типизировать его.
Ответ написан
Комментировать
@5am
мы используем внешний сервис для моков, там можно настроить и отдачу респонсов на нужные реквесты (правда логику приходиться писать на JS, а это на любителя конечно) и сохранение всех пришедших реквестов/респонсов что бы в дальнейшем достать их через API и проанализировать

например:
https://getsandbox.com
не сказать что он идеальный (за пол года - 1 раз поменяли схему авторизации => тесты отвалились и пару раз лежали по пол дня), но наши задачи решает
Ответ написан
Комментировать
@vanyamba-electronics
Удобнее всего это делать с помощью Virtual Box
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы