为javascript闭包函数编写jasmine测试规范
Writing a jasmine test spec to a javascript closure function
我在一个视图中有一个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
上,或在完全不同的帮助对象上。
相关文章:
- 如何使用Jasmine测试Knockout.js点击绑定
- 如何在jasmine测试中为有角度的项目注入依赖项
- Jasmine:测试setTimeout函数会抛出一个错误
- 如何通过 phantomjs 可靠地执行利用 requirejs 的 Jasmine 测试
- 使用jasmine测试JavaScript回调函数
- Jasmine测试工厂函数调用本地函数和另一个函数-获取错误:应该是间谍,但得到了function
- 用jasmine测试JavaScriptUI的最佳方法
- 如何使用jasmine测试done和failedDeferredObject
- 在CoffeeScript文件上运行Jasmine测试时,对象未定义错误
- 使用 Jasmine 测试主干视图时,浏览器页面不断刷新
- 使用 Jasmine 测试对象中的事件处理程序
- 在 Jasmine 测试中无法访问 Angular 服务函数
- 如何正确引用Jasmine测试夹具中的图像
- jasmine测试抱怨undefined不是一个对象
- 我怎么能用jasmine测试这个代码呢
- 如何使用jasmine测试ajax响应
- 如何模拟ajax对Jasmine测试的调用
- AngularJS Jasmine测试:类型错误:'未定义'不是对象
- Jasmine测试url的javascript函数
- 使用Jasmine测试TypeScript类