如何使用mocha.js

时间:2015-09-15 06:03:53

标签: javascript testing mocha bdd

我正在尝试测试简单的前端代码。我只想查看mocha,myModuleobject,密钥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};

可以测试吗?

由于

1 个答案:

答案 0 :(得分:1)

您可以在模块的末尾添加这样的代码:

if ( typeof module === 'object' && module.exports) {
    module.exports = myModule;
}

典型的浏览器环境没有在全局空间中定义module,因此如果您在Node中运行,这将导出您的模块。