And*_*ena 3 javascript testing mocha.js node.js
我开始进行JS测试,因此决定选择Mocha。
我要测试的模块是AMD / RequireJS。但是,看来Mocha仅与CommonJS模块兼容。因此,当我运行它时,define未定义。
如果这确实是要走的路,我可以这样定义我的模块:
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 () {};
});
Run Code Online (Sandbox Code Playgroud)
但是现在amddefine运行Mocha时未定义模块。我不习惯使用Node.js,所以我的问题是:这是使用Mocha测试AMD模块的推荐方法吗?如果是这样,如何amdefine在Mocha测试中定义?
对于您要执行的工作,必须安装该amdefine软件包:
npm install amdefine
Run Code Online (Sandbox Code Playgroud)
如果您不喜欢amdefine或不想在所有模块中放入所需的代码段,建议您使用此加载程序。你做:
npm install amd-loader
Run Code Online (Sandbox Code Playgroud)
在尝试加载任何 AMD模块之前,请执行以下操作:
require("amd-loader");
Run Code Online (Sandbox Code Playgroud)
例如,此require调用可能是Mocha测试文件中的第一件事。这将安装能够理解AMD格式的加载程序。我已经使用了数十个测试,没有任何问题。而且我更喜欢这样做,而不是amdefine在所有模块中都放入所需的代码段。
| 归档时间: |
|
| 查看次数: |
2282 次 |
| 最近记录: |