访问模块的本地变量

时间:2015-03-05 13:55:57

标签: unit-testing typescript

出于测试原因,有没有办法访问模块的局部变量?

module m {
   var i = 0;
   export function go() {
       ++i;
   }
}

m.go();
expect(m["i"]).toBe(1); // m["i"] is undefined

[那是 - 是否可以访问javascript函数的本地var?]

当然我可以将它导出,或者将其静态化并将其包装在一个类中,但我正在寻找更清洁的东西。

1 个答案:

答案 0 :(得分:0)

不,查看生成的JavaScript有助于这些情况:

var m;
(function (m) {
    var i = 0;
    function go() {
        ++i;
    }
    m.go = go;
})(m || (m = {}));

如您所见,var i在功能范围内,因此在该功能之外无法访问。

请按照您的建议:

  

当然我可以将其导出,或者将其设置为静态并将其包装在类