node.js - 测试执行后如何退出Mocha?

标签 node.js mocha.js istanbul

我希望 mocha 在执行所有测试后退出,以便 Istanbul 可以检查代码覆盖率,我在 package.json 中使用了 --exit 但它没有似乎不起作用。

我错过了什么吗?

"scripts": {
"test": "istanbul cover node_modules/mocha/bin/_mocha test/Testcases/ --exit" 
 }

所有测试文件都位于 test/Testcases/ 文件夹下,mocha 应在执行完所有文件后退出

附注我使用的是 Windows 操作系统,因此我手动引用 bin 文件。

最佳答案

使用 --exit 应该可以。

顺便说一下,我使用这个,我认为在有或没有覆盖的情况下执行起来更灵活:

"scripts": {
    "test": "mocha tests --timeout 4000 --reporter mochawesome --exit",
    "coverage": "nyc --reporter=html --reporter=text npm run test"
  }

因此,如果您运行 npm run test,您将仅获得测试,但使用 npm runco​​verage 覆盖率也会显示。

请注意,覆盖范围遵循以下模式:

nyc + 参数 + mocha 执行

但是只使用一行,这也有效:

"test": "nyc --reporter=html --reporter=text mocha tests --timeout 4000 --reporter mochawesome --exit"

删除额外的参数:

"test": "nyc --reporter=html mocha tests --exit"

关于node.js - 测试执行后如何退出Mocha?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64280981/

相关文章:

javascript - 在axios中增加maxContentLength和maxBodyLength

node.js - 如何确保测试对象属性的更改不会传播到其他测试用例?

javascript - 如何等到 vscode.windows.terminal 操作结束?

jasmine - 从 JavaScript 代码覆盖率中排除函数(不是整个文件)

node.js - 以下代码中的 db.createCollection 是否总是会设置一个新数据库?

javascript - 返回 Promise.all 不执行提供的 Promise

php - 如何使用 mongoose 或 mongodb 客户端从 Node js 关闭 mongodb 连接

javascript - 使用 webdriver.io 模块获取当前 URL

javascript - 无法使用 nyc/istanbul 进行代码覆盖

node.js - 如何通过 istanbul 全面覆盖 CLI NodeJS 应用程序?