我正在使用Nightwatch.js
进行e2e测试。我希望它们使用bash
脚本运行(最终结果是它们在CI中运行)。
我对bash相当陌生,这是我到目前为止所拥有的:
#!/bin/bash
# exit on errors
set -e
export NODE_ENV=development
export LIVERELOAD_DISABLED=YES
npm install
NODE_ENV=e2e grunt build
echo "...Starting Node App"
#start app in the background
NODE_ENV=e2e node server.js &
#save node app process id
NODE_PROC=$!
#wait a bit
sleep 10
echo "...Running Frontend Tests"
NODE_ENV=e2e npm run nightwatch
echo "...Tests Finished... Killing Node App"
kill -9 $NODE_PROC
echo "...Node App Killed"
问题是脚本在运行所有测试(行:NODE_ENV=e2e npm run nightwatch
)后卡住了
我得到的唯一输出是日志和常规测试输出。无论测试是否通过,失败,是否通过或不通过,脚本都会卡住。
我尝试在无法正常工作的末尾添加exit 0
(这很有意义,因为它无法执行到该点)。
此外,将set -e
更改为set -ex
并不会更改输出。
我在这里想念什么?
答案 0 :(得分:0)
所以我在错误的地方查看,脚本完全正确,问题是我没有在测试中关闭与数据库的连接。 不知道为什么会导致此问题,但已解决