这似乎非常简单;然而,经过两个小时的阅读和反复try ,却没有成功,我承认失败,并要求你们!
我试图用Mocha和Should.js来测试一些JavaScript函数,但我遇到了范围问题.我已经把它简化为最基本的测试用例,但我无法让它工作.
我有一个名为functions.js
的文件,其中只包含以下内容:
function testFunction() {
return 1;
}
和my 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 的语法的情况下,如何访问在测试中单独的脚本文件中声明的独立函数呢?