这个javascript代码单元是否可以使用Jasmine进行测试。如果不是,我们如何使其单元可测试?
问题基本上是helloworld
函数在测试规范js文件中无法访问,因为它不在全局范围内。我们如何重构代码,使其可以在测试规范文件中访问?
(function($){
function helloWorld() {
return "Hello world!";
}
})(jQuery);
答案 0 :(得分:4)
不,您无法测试不可见的功能。
您应该通过定义一些全局常量在测试环境中有条件地导出它:
(function ($) {
var exports = window.TESTING ? window : {}
exports.helloWorld = function () {
// ...
};
})(jQuery);