3

我想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"
4

1 回答 1

2

您可以使用等待包。

npm install --save-dev wait-on

然后,

"newman-sleep": "wait-on http://localhost:3000 && npm run newman"
于 2016-05-27T01:51:24.020 回答