为javascript闭包函数编写jasmine测试规范

Writing a jasmine test spec to a javascript closure function

本文关键字:jasmine 测试 javascript 闭包 函数      更新时间:2023-09-26

我在一个视图中有一个Javascript函数,它被封闭在闭包中。闭包返回一个同名的函数,并有一些帮助函数。这是方法的结构。

this.myMethod = (function () {
    function helperMethod(){
        ....
        return true;
    }
    return function myMethod(args){
        helperMethod();
        manipulate();
    }
}

我的问题是如何为这个方法编写Jasmine单元测试规范。如何调用这个方法?

使用方法的默认方式在这种情况下不起作用,因为它是匿名的。

var view = new myView();
    view.myMethod();
    expect ( true ).toBeTruthy();

请在这方面提供帮助。我是茉莉花框架的初学者。

通过关闭helperMethod函数,您已经使其无法访问您的规格,因此您将无法直接测试它。您可以通过现有的公共接口(myMethod)间接测试它,也可以通过从闭包中提取helperMethod以某种方式使其可公开访问,这可以作为视图上的原型方法,或仅在this上,或在完全不同的帮助对象上。