我的目录结构如下:
src
|--> js
|--> more js files in nested folders
test
|--> spec
|--> js test files
如果我在规范中的一个js测试中,如果我尝试从嵌套的src目录中的js文件调用一个函数,我可以调用该函数。但是,如果我尝试调用变量,它就找不到它,并且我得到一个参考错误。
我的函数(可见)声明如下:
function myFunctionName() {
... some code ...
}
我的变量在函数之后声明,而不是在任何其他函数内声明,如下所示:
var myVar = '...';
我也尝试将myVar声明为const
,但结果相同。
在myTestSpec.js
(function () {
'use strict';
describe('...', function() {
it('...', function () {
// Works
expect(myFunctionName()).toEqual('...');
// Doesn't work
var newVar = myVar;
});
});
})();
答案 0 :(得分:0)
通过坚持任何全球性的解决方案来解决这个问题。状态我需要进入一个函数,作为json返回。我现在只需要在每次开始测试时调用此函数。
由于我们需要在多个测试中重新创建状态,因此性能略有下降,但它不是生产代码(仅测试)所以不应该是一个问题,这意味着我不会#39; t必须依赖另一个JS库,例如require js ..