如何在使用npm run运行端到端testing之前启动节点服务器?
我正在写一个快速站点的端到端testing,我想在package.js中添加一个“testing”命令
这个命令需要:
- 运行eslint
- 编译打字稿
- 启动节点服务器
- 对该服务器运行unit testing并显示输出。
- 一旦完成testing,closures服务器。
我知道如何单独执行所有这些命令,但不是一次全部执行。
我现在拥有的是:
npm run compile && npm run build && node ./dist/server.js --db=test && npm run test
它的工作原理是:“ && npm run test ”,因为节点服务器正在运行,它不会继续到下一个命令,如果它closures,那么testing将不会运行。
任何帮助表示赞赏。
我发现可以帮助进行可靠的,可维护的端到端testing的一件事是分离关注: – testing套件假定服务器已经在运行 – Orchestrator调用单独的命令来启动testing堆栈,而不是运行testing
在CI这可能看起来像
npm start-e2e-test-stack --port=XXXX --db=test npm test --port=XXXX --db=test npm teardown-e2e-test-stack
根据我的经验,对任何服务器进行端到端testing都有助于validation所有环境,本地,开发,QA,分期,生产。