我正在尝试使用start-server-and-test npm包,并希望运行测试用例。为此,我首先需要启动一个测试服务器,然后运行test命令。这就是我的package.json
脚本部分的样子。
现在的问题是start-server-and-test是启动测试服务器,但它没有启动测试用例。
{
...
...
"scripts": {
"test": "jest --runInBand --config jest.config.json",
"dev": "nodemon --watch 'src/**' --ext 'ts,js' --exec "ts-node src/app.ts"",
"start": "ts-node src/app.ts",
"test-server": "MYSQL_TABLE_PREFIX=TEST_ PORT=4001 ts-node src/app.ts",
"ci": "start-server-and-test 'yarn test-server' http://localhost:4001/ 'yarn test'"
},
...
...
}
所以我发现问题是我的端点http://localhost:4001/
没有响应200状态码,因此命令yarn test
没有被执行。因此,然后我将端点更改为http://localhost:4001/health
,它给出了一个200状态码,然后测试用例被执行。
所以现在包。Json是这样的
{
...
...
"scripts": {
"test": "jest --runInBand --config jest.config.json",
"dev": "nodemon --watch 'src/**' --ext 'ts,js' --exec "ts-node src/app.ts"",
"start": "ts-node src/app.ts",
"test-server": "MYSQL_TABLE_PREFIX=TEST_ PORT=4001 ts-node src/app.ts",
"ci": "start-server-and-test 'yarn test-server' http://localhost:4001/health 'yarn test'"
},
...
...
}