我正在为快速站点编写端到端测试,我想在package.js中添加一个“test”命令 该命令需要: 运行eslint 编译打字稿 启动节点服务器 对该服务器运行单元测试并显示输出. 完成测试后,关闭服
该命令需要:
>运行eslint
>编译打字稿
>启动节点服务器
>对该服务器运行单元测试并显示输出.
>完成测试后,关闭服务器.
我知道如何单独执行所有这些命令,但不能同时执行所有命令.
我现在拥有的是:
npm run compile && npm run build && node ./dist/server.js --db=test && npm run test
它的工作原理是:“&& npm run test”
由于节点服务器正在运行,它将不会继续执行下一个命令,如果它关闭,则测试将不会运行.
任何帮助表示赞赏.
我发现有助于可靠,可维护的端到端测试的一件事是分开关注:– 测试套件假定服务器已在运行
– Orchestrator调用单独的命令来调出测试堆栈而不是运行测试
在CI中,这可能看起来像
npm start-e2e-test-stack --port=XXXX --db=test npm test --port=XXXX --db=test npm teardown-e2e-test-stack
根据我的经验,端到端测试对任何服务器的操作都有助于他们验证所有环境,本地,开发,qa,升级,生产.