我想在我的CI环境(solano-ci)上运行newman
。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"
最佳答案
您可以使用wait-on包。
npm install --save-dev wait-on
然后,
"newman-sleep": "wait-on http://localhost:3000 && npm run newman"