【发布时间】:2014-06-12 08:43:09
【问题描述】:
我在一个封闭在一个闭包中的视图中有一个 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 框架的初学者。
【问题讨论】:
-
更具体地说,我想测试方法'helperMethod',它不是由闭包函数直接调用,而是传递给外部例程并从外部方法有条件地调用。它作为闭包函数的参数传递。因此我无法测试内部函数,因为在测试闭包函数时我会模拟外部函数(这里是 myMethod )。
标签: javascript unit-testing closures jasmine anonymous-function