我想在我的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"
答案 0 :(得分:2)
您可以使用wait-on包。
npm install --save-dev wait-on
然后,
"newman-sleep": "wait-on http://localhost:3000 && npm run newman"