这似乎应该非常简单; 然而,经过两个小时的阅读和反复试验没有成功,我承认失败并问你们!
我正在尝试使用Mocha和Should.js来测试一些JavaScript函数,但我遇到了范围问题.我已将其简化为最基本的测试用例,但我无法使其正常工作.
我有一个名为的文件functions.js,它只包含以下内容:
function testFunction() {
return 1;
}
Run Code Online (Sandbox Code Playgroud)
而我tests.js(位于同一文件夹中)的内容:
require('./functions.js')
describe('tests', function(){
describe('testFunction', function(){
it('should return 1', function(){
testFunction().should.equal(1);
})
})
})
Run Code Online (Sandbox Code Playgroud)
这个测试失败了ReferenceError: testFunction is not defined.
我可以看到原因,因为我发现的大多数示例都是将对象和函数附加到Node global对象或使用module.exports-but 导出它们但是使用这些方法中的任何一种意味着我的函数代码会在标准浏览器情况下抛出错误,其中那些对象不存在
那么如何在不使用特定于Node的语法的情况下访问在我的测试的单独脚本文件中声明的独立函数?