首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用JavaScript测试纯mocha.js模块

如何用JavaScript测试纯mocha.js模块
EN

Stack Overflow用户
提问于 2015-09-15 06:03:52
回答 1查看 566关注 0票数 1

我试着测试简单的前端代码。我只想和摩卡确认一下,myModuleobject,键length0大。

模块定义:

代码语言:javascript
复制
var myModule = (function () {
    return {
        option: false
    };
})();

我正试图这样做:

代码语言:javascript
复制
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文件可能非常简单:

代码语言:javascript
复制
var Config = {isDev: true};

是可测试的吗?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-15 10:26:20

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

代码语言:javascript
复制
if ( typeof module === 'object' && module.exports) {
    module.exports = myModule;
}

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32578774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档