如何在摩卡测试中使用“定义”
How to use "define" with Mocha tests?
我正在开始进行JS测试,我决定使用摩卡。
我想测试的模块是 AMD/RequireJS。但是,Mocha似乎只与CommonJS模块兼容。因此,当我运行它时,未定义定义。
所以我看到了这个问题,它暗示了这个文档。
如果这真的是要走的路,我会像这样定义我的模块:
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 模块的推荐方法吗?如果是这样,如何在摩卡测试中定义amdefine
?
要使
你尝试做的事情工作,你必须安装 amdefine
包:
npm install amdefine
如果您不喜欢amdefine
或者不想将它所需的代码段放在所有模块中,我建议您只使用此加载器。是吗:
npm install amd-loader
在尝试加载任何 AMD 模块之前,请先执行以下操作:
require("amd-loader");
例如,这个require
调用可能是您的 Mocha 测试文件中的第一件事。这将安装一个能够理解 AMD 格式的加载程序。我已经在数十次测试中使用它,没有任何问题。我更喜欢这样,而不是将amdefine
所需的代码片段放在我的所有模块中。
相关文章:
- 摩卡由于绝对路径而不断轰炸
- 如何使用浏览器中用酶创建的组件反应例如摩卡
- 找不到模块'它'当用摩卡/柴测试时
- 摩卡+柴+jsdom Can't加载自定义模块目录
- 如何将 XML 文件包含在摩卡测试用例中
- 摩卡与敏捷(异步)冲突
- 用于摩卡测试的 CLI 调试器
- 如何在摩卡测试中使用“定义”
- 摩卡“每个钩子之前”红色消息.我怎么知道具体出了什么问题
- 错误:使用摩卡测试时找不到模块
- 大口喝摩卡如何传递编译器标志
- 我可以从摩卡测试MarkLogic SJS吗
- 用摩卡测试失败的承诺'内置的promise支持
- 如何用摩卡/柴制作模拟窗口/文档
- 未定义的Es6级在单元测试中与大口摩卡
- 为什么在使用 RequireJS 运行摩卡测试时看到“定义未定义”
- 用Gulp摩卡测试Angular:“;窗口未定义”;
- Karma +摩卡+ should v7不工作- should没有定义
- 使用酶/摩卡进行反应测试 - 音频未定义
- 如何将自定义数据传递到我的摩卡测试