如何在 Mocha 测试中使用 "define"?
How to use "define" with Mocha tests?
我刚开始进行 JS 测试,我决定使用 Mocha。
我要测试的模块是AMD/RequireJS。但是,Mocha 似乎只兼容 CommonJS 模块。所以,当我运行它的时候,define没有定义.
所以我看到了 this question that suggests this document。
如果真的要这样做,我会这样定义我的模块:
if (typeof define !== 'function') {
var define = require('amdefine')(module);
}
define(function(require) {
var dep = require('dependency');
//The value returned from the function is
//used as the module export visible to Node.
return function () {};
});
但是现在 运行 Mocha 时没有定义 amddefine
模块。我不习惯 Node.js,所以我的问题是:这是用 Mocha 测试 AMD 模块的推荐方法吗?如果是这样,我如何在我的 Mocha 测试中定义 amdefine
?
要使您的工作正常进行,您必须安装 amdefine
软件包:
npm install amdefine
如果您不喜欢 amdefine
或者您不想将它需要的片段放入您的所有模块中,我建议您只使用 this loader。你这样做:
npm install amd-loader
在您尝试加载 任何 AMD 模块之前:
require("amd-loader");
例如,此 require
调用可能是您的 Mocha 测试文件中的第一件事。这将安装一个能够理解 AMD 格式的加载程序。我已经将其用于数十次测试,没有任何问题。我更喜欢将 amdefine
所需的代码片段放入我的所有模块中。
我刚开始进行 JS 测试,我决定使用 Mocha。
我要测试的模块是AMD/RequireJS。但是,Mocha 似乎只兼容 CommonJS 模块。所以,当我运行它的时候,define没有定义.
所以我看到了 this question that suggests this document。
如果真的要这样做,我会这样定义我的模块:
if (typeof define !== 'function') {
var define = require('amdefine')(module);
}
define(function(require) {
var dep = require('dependency');
//The value returned from the function is
//used as the module export visible to Node.
return function () {};
});
但是现在 运行 Mocha 时没有定义 amddefine
模块。我不习惯 Node.js,所以我的问题是:这是用 Mocha 测试 AMD 模块的推荐方法吗?如果是这样,我如何在我的 Mocha 测试中定义 amdefine
?
要使您的工作正常进行,您必须安装 amdefine
软件包:
npm install amdefine
如果您不喜欢 amdefine
或者您不想将它需要的片段放入您的所有模块中,我建议您只使用 this loader。你这样做:
npm install amd-loader
在您尝试加载 任何 AMD 模块之前:
require("amd-loader");
例如,此 require
调用可能是您的 Mocha 测试文件中的第一件事。这将安装一个能够理解 AMD 格式的加载程序。我已经将其用于数十次测试,没有任何问题。我更喜欢将 amdefine
所需的代码片段放入我的所有模块中。