Mik*_*ain 9 javascript require mocha.js node.js gulp
我正在使用expect.js库和我的mocha单元测试.目前,我要求每个文件的第一行上的库,如下所示:
var expect = require('expect.js');
describe('something', function () {
it('should pass', function () {
expect(true).to.be(true); // works
});
});
Run Code Online (Sandbox Code Playgroud)
如果可能的话,我想从每个文件的第一行删除样板需求代码,并让我的单元测试神奇地了解expect.我以为我可以使用mocha.opts文件来做到这一点:
--require ./node_modules/expect.js/index.js
Run Code Online (Sandbox Code Playgroud)
但是现在我在运行测试时遇到以下错误:
ReferenceError:未定义expect
这似乎是有道理的 - 它如何知道expect我的测试中的引用是指expect.js库导出的内容?
期望库肯定会被加载,好像我将路径更改为不存在的东西然后mocha说:
"错误:找不到模块'./does-not-exist.js'"
有什么方法可以实现我想要的吗?如果可能有帮助的话,我正在从gulp任务中运行我的测试.
Lou*_*uis 20
您正确地要求模块,但正如您所知,模块导出的符号不会自动进入全局空间.您可以使用自己的帮助程序模块来解决此问题.
创建test/helper.js:
var expect = require("expect.js")
global.expect = expect;
Run Code Online (Sandbox Code Playgroud)
并设置test/mocha.opts为:
--require test/helper
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9715 次 |
| 最近记录: |