Как запустить почтальона ньюмана в среде CI?

Я хочу запустить newman в своей среде CI (solano-ci).

newman — это инструмент, который обрабатывает запросы в вашей коллекции почтальонов.

У меня есть сценарий newman в моем package.json, а также сценарий npm start, который запускает сервер в localhost:3000.

newman уже настроен с переменными среды для тестирования конечных точек на порту localhost:3000.

Проблема в том, что мне нужен один скрипт, который запускает сервер (npm start), а затем запускает npm run newman. Но есть задержка между тем, когда сервер доступен, и тем, когда newman запускает свои тесты. Если newman запускается до того, как сервер будет доступен, это приведет к ошибке для каждого теста.

Error: connect ECONNREFUSED 127.0.0.1:3000

Вот что я пробовал прямо сейчас, используя run-p который работает при параллельном запуске двух процессов. Затем я должен использовать sleep и установить произвольное количество времени ожидания, чтобы убедиться, что сервер готов.

"newman": "newman -c ./postman/api.postman_collection.json -e ./postman/local.postman_environment.json",
"newman-sleep": "sleep 10 && npm run newman",
"newman-server": "run-p start newman-sleep"

person ThomasReggi    schedule 26.05.2016    source источник


Ответы (1)


Вы можете использовать пакет wait-on.

npm install --save-dev wait-on

Затем,

"newman-sleep": "wait-on http://localhost:3000 && npm run newman"
person mysticatea    schedule 27.05.2016