簡體   English   中英

如何使用mocha.js測試純JavaScript模塊

[英]How to test pure JavaScript module with mocha.js

我正在嘗試測試簡單的前端代碼。 我只想與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};

是否可以測試?

謝謝

您可以在模塊末尾添加如下代碼:

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

典型的瀏覽器環境在全局空間中未定義module ,因此如果您在Node中運行,它將導出您的模塊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM