如何使用Mocha测试“正常”(非特定于Node的)JavaScript函数?

19 浏览
0 Comments

如何使用Mocha测试“正常”(非特定于Node的)JavaScript函数?

这似乎应该非常简单;然而,经过两个小时的阅读和试错仍然没有成功,我承认失败并向你们请教!

我试图使用MochaShould.js来测试一些JavaScript函数,但是我遇到了作用域问题。我已经将它简化到最基本的测试用例,但是我无法让它工作。

我有一个名为functions.js的文件,它只包含以下内容:

function testFunction() {
    return 1;
}

我的tests.js(位于同一文件夹中)的内容如下:

require('./functions.js')
describe('tests', function(){
    describe('testFunction', function(){
        it('should return 1', function(){
            testFunction().should.equal(1);
        })
    })
})

这个测试失败,并显示ReferenceError: testFunction is not defined

我可以理解为什么会这样,因为我找到的大多数示例要么将对象和函数附加到Node的global对象上,要么使用module.exports将它们导出——但使用这两种方法中的任何一种都意味着我的函数代码在标准浏览器环境中会抛出错误,因为这些对象不存在。

那么,我如何在不使用特定于Node的语法的情况下访问在单独的脚本文件中声明的独立函数?

0