这个JavaScript单元是否可以使用Jasmine进行测试?

时间:2015-03-21 23:28:31

标签: jquery unit-testing jasmine

这个javascript代码单元是否可以使用Jasmine进行测试。如果不是,我们如何使其单元可测试?

问题基本上是helloworld函数在测试规范js文件中无法访问,因为它不在全局范围内。我们如何重构代码,使其可以在测试规范文件中访问?

(function($){
    function helloWorld() {
          return "Hello world!";
        }
})(jQuery);

1 个答案:

答案 0 :(得分:4)

不,您无法测试不可见的功能。

您应该通过定义一些全局常量在测试环境中有条件地导出它:

(function ($) {
  var exports = window.TESTING ? window : {}

  exports.helloWorld = function () {
    // ...
  };

})(jQuery);