可以从javascript文件中看到函数,但不能看到变量

时间:2018-01-04 10:02:19

标签: javascript jasmine karma-jasmine

我的目录结构如下:

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;            
        });
    });
})();

1 个答案:

答案 0 :(得分:0)

通过坚持任何全球性的解决方案来解决这个问题。状态我需要进入一个函数,作为json返回。我现在只需要在每次开始测试时调用此函数。

由于我们需要在多个测试中重新创建状态,因此性能略有下降,但它不是生产代码(仅测试)所以不应该是一个问题,这意味着我不会#39; t必须依赖另一个JS库,例如require js ..