我在视图中有一个Javascript函数,它包含在一个闭包中。闭包返回一个相同名称的函数,并且还有一些帮助器。这是该方法的结构。
this.myMethod = (function () {
function helperMethod(){
....
return true;
}
return function myMethod(args){
helperMethod();
manipulate();
}
}
我的问题是如何为此方法编写Jasmine单元测试规范。我该如何调用此方法?
在这种情况下,使用默认方法不起作用,因为它是匿名的。
var view = new myView();
view.myMethod();
expect ( true ).toBeTruthy();
请帮助这方面。我是Jasmine Framework的初学者。
答案 0 :(得分:1)
通过关闭helperMethod
功能,您已使其无法访问您的规格,因此您无法直接测试它。您可以通过遍历现有公共接口(myMethod
)或通过以某种方式从闭包中提取helperMethod
来间接测试它以使其可以公开访问,这可以作为原型方法在查看,或仅在this
,或完全不同的辅助对象。