2016-06-13 74 views
0

我完全是使用茉莉花的新手。我无法弄清楚如何为下面的JavaScript关闭编写测试用例。在jasmine中测试javascript关闭

我的打字稿代码如下:

module FIRST.Mobile.Controllers{ 
    "use strict"; 
    class sampletest 
    { 
     public subtract(a: number, b: number): number { 
      return a - b; 
     } 
    } 
} 

当转换为JavaScript就变成:

var FIRST; 
(function (FIRST) { 
    var Mobile; 
    (function (Mobile) { 
     var Controllers; 
     (function (Controllers) { 
      "use strict"; 
      var sampletest = (function() { 
       function sampletest() { 
       } 
       sampletest.prototype.subtract = function (a, b) { 
        return a - b; 
       }; 
       return sampletest; 
      })(); 
     })(Controllers = Mobile.Controllers || (Mobile.Controllers = {})); 
    })(Mobile = FIRST.Mobile || (FIRST.Mobile = {})); 
})(FIRST || (FIRST = {})); 

我不明白,如果我能一个打字稿模块的测试代码? 如果是的话,有人可以解释我怎么能用茉莉花测试减法。

+0

我不知道肯定打字稿,但与es6和babel我从来没有看过编译的代码。我使用相同的语言和结构进行测试,因为我的src文件夹已写入。如果您编写ts,测试es5似乎不太合适。 – Randy

回答

0

您提供的代码实际上与闭包无关。

您可以访问类sampletest(我建议在驼峰写它作为SampleTest)这样:FIRST.Mobile.Controllers.sampletest

你的功能subtract()是在这里:

var t = new FIRST.Mobile.Controllers.sampletest(); 
t.subtract(5, 3); // returns 2