angularjs – 单元测试$window resize方法
发布时间:2020-12-17 17:21:49 所属栏目:安全 来源:网络整理
导读:我在一个简单的指令链接函数中有以下代码,它检查窗口大小调整并调用函数. return { restrict: 'A',link: function (scope) { angular.element($window).on('resize',function() { scope.getSize(); }); scope.getSize() = function() { return true; }; }}
我在一个简单的指令链接函数中有以下代码,它检查窗口大小调整并调用函数.
return { restrict: 'A',link: function (scope) { angular.element($window).on('resize',function() { scope.getSize(); }); scope.getSize() = function() { return true; }; } } 我正在尝试测试($window).on(‘resize’)调用scope.getSize(). 在我的测试中,我编译我的指令如下: beforeEach(inject(function($rootScope,$compile,_$window_) { $window = _$window_; $scope = $rootScope.$new(); element = angular.element('<div data-watch-resize></div>'); element = $compile(element)($scope); $scope.$digest(); })); 然后我监视窗口的resize函数,并期望函数被调用 spyOn($window,'resize'); $window.innerWidth = 1026; $scope.$digest(); expect(element.scope().getSize()).toHaveBeenCalled(); 但是我得到以下错误 错误:resize()方法不存在 我不确定为什么它不存在,有什么明显的我做错了吗? 解决方法
如果有人卡在类似的东西上:
it('should expect scope.getSize() to have been called on window resize',function () { spyOn(element.isolateScope(),'getSize'); $window.innerWidth = 1026; angular.element($window).triggerHandler('resize'); $scope.$digest(); expect(element.isolateScope().getSize).toHaveBeenCalled(); }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- angularjs – 模块’moduleName’不可用!您要么错误拼写了
- angularjs – 结合玩!框架2.xx与Angular.js
- 基于Bootstrap的标签页组件bootstrap-tab使用说明
- angularjs – Angular Js – 标题默认设置标记
- Shell重启Tomcat脚本
- Webservice(基础)——DTD
- Scala类型扩展/推断foo [T](T,T):T
- ofbiz的webservice接口提供(2)-数据类型的局限性
- AngularJS使用TypeScript和注入过滤
- 当使用AngularJS HotTowel中的vm“ControllerAs”语法时,从