运行`npm test`

时间:2018-10-09 11:36:43

标签: javascript node.js shell

在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 &,以便其他进程在后台运行,并且测试正确终止。

1 个答案:

答案 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"