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

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

Я не могу понять как протестировать сервис и понять какой запрос отправил тестируемый сервис на другой сервис, мне нужно знать какие данные отправил.
Я использую supertest - я отправляю запрос в тестируемый сервис, он его модифицирует и отправляет дальше, вопрос в том как понять в каком виде улетели данные дальше. Я так понимаю мне надо что-то ввиде мока который будет хранить последний к себе запрос и я могу его в тесте проверить на соответствие. Я не могу найти вменяемый пример как это сделать. Если есть кусок кода или библиотека на которую посмотреть, пните - я пойду дальше. Всем спасибо.
  • Вопрос задан
  • 1130 просмотров
Пригласить эксперта
Ответы на вопрос 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
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Soft Media Int. Пенза
от 30 000 до 60 000 руб.
IWU Нижний Новгород
от 150 000 до 250 000 руб.
Сравни.ру Москва
от 150 000 руб.
21 авг. 2019, в 13:03
15000 руб./за проект
21 авг. 2019, в 12:59
10000 руб./за проект