这看起来应该非常简单;然而,经过两个小时的阅读和试错没有成功,我认输并问你们!
我正在尝试将Mocha与Should.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
.
我明白为什么,因为我发现的大多数示例要么将对象和函数附加到 Nodeglobal
对象,要么使用导出它们module.exports
——但是使用这两种方法中的任何一种都意味着我的函数代码会在标准浏览器情况下抛出错误,其中这些对象不存在。
那么如何在不使用特定于节点的语法的情况下访问在我的测试中单独的脚本文件中声明的独立函数呢?