![](/img/trans.png)
[英]Javascript Testing with Mocha.js: How to mock out a callback in mocha?
[英]How to test pure JavaScript module with mocha.js
我正在尝试测试简单的前端代码。 我只想与mocha一起检查myModule
是object
并且密钥length
大于0
。
模块定义:
var myModule = (function () {
return {
option: false
};
})();
我正在尝试这样做:
var expect = require('chai').expect;
var myModule = require('<path_to_my_moule_file>');
describe("myModule", function() {
it("is myModule object", function() {
expect(myModule).to.be.a('object');//I know it's not enough
});
it("is myModule not empty", function() {
expect(Object.keys(myModule)).to.have.length.greaterThan(0);
});
});
但是,当然这是行不通的。 因为我的模块不是我想的nodejs模块,所以无论如何myModule
返回简单的{}
,但不是真正的值(我正在尝试字符串等,但总是{}
)。 我应该如何测试这种代码?
更新 :
如果我根本不使用模块怎么办? 经过测试的js文件可能非常简单:
var Config = {isDev: true};
是否可以测试?
谢谢
您可以在模块末尾添加如下代码:
if ( typeof module === 'object' && module.exports) {
module.exports = myModule;
}
典型的浏览器环境在全局空间中未定义module
,因此如果您在Node中运行,它将导出您的模块。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.