我在Node JS应用程序中的多个文件中进行了大量测试.我想在Mocha执行任何测试文件之前运行bootstrap代码.例如,我可以在每个实际测试中设置全局变量.
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选项对诸如should.js之类的库很有用,所以你可以简单地 - 在每个测试文件中需要而不是手动调用require('should').请注意,这适用于应该增强Object.prototype,但是如果您希望访问模块的导出,则必须要求它们,例如var should = require('should').
您也可以在每个测试的顶部写入以加载require("./bootstrap.js")
和运行测试.