Javascript 如何在使用npm脚本启动服务器后运行测试文件?
我想利用Javascript 如何在使用npm脚本启动服务器后运行测试文件?,javascript,node.js,api,npm,npm-scripts,Javascript,Node.js,Api,Npm,Npm Scripts,我想利用npm脚本的功能,并尝试创建一个命令来运行API的测试。基本上,我需要启动API并执行一些HTTP请求。我把测试放在一个JS文件中,我们称之为automatic test.JS,我想启动API,然后运行这些测试 在我的package.json中,我尝试了以下调用: "scripts": { "start": "node ./bin/www", "test": "npm start & node test/automatic-test.js" } test命令启动
npm脚本
的功能,并尝试创建一个命令来运行API的测试。基本上,我需要启动API并执行一些HTTP请求。我把测试放在一个JS文件中,我们称之为automatic test.JS
,我想启动API,然后运行这些测试
在我的package.json
中,我尝试了以下调用:
"scripts": {
"start": "node ./bin/www",
"test": "npm start & node test/automatic-test.js"
}
test
命令启动API服务器,但不运行测试文件。我试着用&
,|
和来更改&
代码>(),但没有一个命令行能够到达命令的第二部分。我甚至试图在test
one的开头编写start
命令的内容,但问题是相同的
我可以找到一个从测试文件()启动服务器的解决方法,require('/route/to/server/file')
,让test
命令与node test/automatic test.js
一样,但我觉得我可能在作弊。我应该怎么做才能使这句话发挥我想要的作用
npm start &/&&/||/; node test/automatic-test.js
节点版本:v10.15.0
Npm版本:6.4.1
编辑:这些测试是未来真实测试的初稿,只是一堆HTTP请求,应该只返回一组非常小的结果,它们不是正确的测试(评估、摩卡等)。默认情况下,节点不提供直接测试的能力,您必须添加类似的包
请按照文档操作。npm软件包非常好,伊姆霍
它声称“就像npm run watch js&npm run watch少但更好”,因为你的问题是从&
绑定命令开始的
下面是一个来自package.json
的示例:
"test:dev": "concurrently --restart-tries 10 --names rollup,sirv \"rollup --config rollup.test.config.js -w\" \"sirv test --port 3000 --single --dev\"",
它将名称(“rollup”、“sirv”)打印到输出中,这样就可以清楚地知道哪个进程做了什么
我无法与前面提到的启动服务器和测试进行比较。我刚刚添加了一个编辑,进一步解释了我正在尝试的这些测试。提前感谢.npm安装--保存开发启动服务器并测试使用此模块,然后您可以在服务器启动后运行测试您可以检查此内容以供参考始终欢迎dude