通过实习生对浏览器CommonJS模块进行单元测试

时间:2014-08-28 18:19:05

标签: javascript unit-testing intern

编写将使用browserify在浏览器中加载的模块。我试图使用dojo/node插件对模块进行单元测试,但在尝试加载单元测试时它无法正常工作。我是否需要包装需要进行单元测试的模块(即在加载前对它们进行浏览),还是有解决方法?

规格:

define([
    'intern!object',
    'intern/chai!assert',
    'require',
    // common css selectors
    'intern/dojo/node!app/selectors'
], function (
    registerSuite,
    assert,
    require,
    SEL
) {

    registerSuite({

        name: 'Selectors Unit test',

        'it is an object': function() {
            assert.ok(typeof SEL === 'object',
                      'Selectors is an object');
        }

    });

});

模块:

module.exports = {

    FOO : { _SELF: '#someId }

};

通过浏览器http://localhost/node_modules/intern/client.html?config=tests/intern

运行

给出的错误是Uncaught Error: Cannot find the Node.js require

Dojo插件是否可以在浏览器环境中运行?

1 个答案:

答案 0 :(得分:1)

不,dojo/node无法在浏览器中使用。正如documentation指出的那样,

  

dojo/node只需访问节点的本地require()函数,将插件参数作为参数传递。