chai-http在运行测试后没有退出

El *_*Mac 11 mocha.js chai chai-http

我遇到了一个问题,在使用chai-http运行后我的mocha测试没有完成.测试后Mocha会挂起并最终进入超时状态(至少在我的CI上).

El *_*Mac 36

事实证明,Mocha(4.0)改变了他们关于终止测试的行为.我找到的最佳解决方法是将--exit标志添加到npm脚本以恢复到4.0之前的行为.

...
"scripts": {
  "start": "node server.js",
  "test": "mocha --exit"
},
...
Run Code Online (Sandbox Code Playgroud)

  • 这只是将真正的错误隐藏起来。挂起的原因是异步调用处理不当。不幸的是,mocha 或 chai 并没有真正明确地告诉问题出在哪里,除了它所在的测试文件之外 - 您需要关闭该文件中的所有测试,然后一项一项地重新打开它们,以找到冻结发生的位置。 (2认同)