在Node.js中运行Mocha测试之前和之后,我需要执行一组操作。
运行在服务器上创建用户和机器人帐户的脚本。此脚本使用API调用来创建与服务器的连接,并且在创建帐户后该过程不会终止。
使用上面创建的帐户凭据运行服务器。
运行Mocha测试。
删除在服务器上创建的帐户。
在package.json
中,
"scripts": {
"start": "node index.js",
"test": "node createAccounts.js && (sleep 10 && mocha -t 60000 ./*spec.js); node deleteAccounts.js"
}
运行npm test
时出现的问题是测试通过后,该过程不会终止。我想到的一种解决方法是使用node createAccounts.js & (sleep 10 && mocha -t 60000 ./*spec.js); node deleteAccounts.js &
,以便其他进程在后台运行,并且测试正确终止。
答案 0 :(得分:0)
我最终选择了以下测试脚本,该脚本在后台运行非终止进程,并将退出代码保存在$s
中。只有一个问题:后台进程没有终止:(
"test": "node createAccounts.js & (sleep 10 && mocha -t 60000 ./*spec.js --exit) && s=0 || s=$? ; node deleteAccounts.js & sleep 5 && exit $s"