node.js - 引导 Mocha 测试套件

标签 node.js mocha.js

我在 Node JS 应用程序的多个文件中进行了大量测试。我想在 Mocha 执行任何测试文件之前运行引导代码。这样我就可以设置全局变量以在每个实际测试中使用。

示例引导代码

global.chai = require('chai');
global.expect = chai.expect;
global.sinon = require('sinon');

似乎 Mocha 会按字母顺序加载/test 下的所有文件,所以如果我将此引导代码命名为“bootstrap.js”,并且在“B”之后使用起始字母命名其他所有文件,则它“有效”。

显然这是脆弱和糟糕的,但我不想把这个需要我的支持库的样板放在每个测试文件的顶部。

我如何告诉 Mocha 先加载引导脚本,或者创建功能等效的东西?

最佳答案

你试过 mocha --require mymodule.js TESTS_DIR

来自文档

-r, --require

The --require option is useful for libraries such as should.js, so you may simply --require should instead of manually invoking require('should') within each test file. Note that this works well for should as it augments Object.prototype, however if you wish to access a module's exports you will have to require them, for example var should = require('should').

您还可以在每个测试的顶部编写以加载 require("./bootstrap.js") 并运行测试。

关于node.js - 引导 Mocha 测试套件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20723848/

相关文章:

javascript - FOR 循环中的 HTTP 请求未执行

node.js - 我如何用 mocha 排除常见的 before() 调用?

node.js - 有没有办法使用express-jwt在nodejs中不 protected 端点中访问jwt用户信息?

javascript - Node ,如何使同步代码超时?

javascript - 我如何告诉 Mocha 只在浏览器中运行某个测试(而不是在 node.js 中)?

windows - mocha + webstorm - 错误信息被破坏

javascript - SuperTest - 应用程序未定义

javascript - 如何测试 React 组件是否已经从 switch 状态渲染?

javascript - 如何在 React 中反转数组

javascript - 如何仅使用终端:?输出打开JS文件时vscode显示的问题列表