繁体   English   中英

Bash 脚本在 e2e 测试运行后卡住

[英]Bash script stuck after e2e tests run

我正在使用Nightwatch.js运行端到端测试。 我希望它们使用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

我得到的唯一 output 是日志和通常的测试 output。无论测试通过、失败,或者有些通过而有些没有,脚本都会卡住。 我试过在最后添加exit 0但没有用(有道理,因为它没有执行到那一点)。

此外,将set -e更改为set -ex并没有更改 output。

我在这里错过了什么?

所以我找错了地方,脚本完全没问题,问题是我没有在测试中关闭与数据库的连接。 不知道为什么会导致这个问题,但它解决了

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM