Используя nock, чтобы сделать запрос из контейнера docker? - PullRequest
0 голосов
/ 21 февраля 2020

Мои сквозные тесты выполняются в локальной docker среде микросервиса, который я тестирую, я хочу вывести запрос, сделанный через эту docker среду, из сквозного теста но это просто не позволяет мне.

const requestNock = nock('https://google.com').post('/foo').reply(200);

makeRequest('127.0.0.1/bar') // This path then calls https://google.com/bar

requestNock.isDone() // Returns false

Возможно ли что-то подобное? Если нет, то есть ли какое-либо решение для моделирования ответа внешнего API, сделанного через локальную docker среду?

1 Ответ

0 голосов
/ 25 февраля 2020

Это не то, что Нок предназначен для обработки. Он работает путем перехвата исходящих HTTP-запросов внутри одного процесса Node.

Не зная больше о том, что делает ваш docker, трудно сказать, какие у вас варианты. Если сервис внутри контейнера Docker не имеет логики c, и его единственная цель - прокси-запросы во время ваших тестов, я бы поспорил, что он должен быть удален из теста, и вы можете отключить запросы внутри единого обработать. Я бы назвал эти интеграционные тесты.

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

...