如何模拟“angular.element”
How to mock `angular.element`
在一个服务中,我有以下代码片段
angular.element('html, body').animate({
scrollTop: this.parentHeight + ... - ...
}, 500);
在我的单元测试中,我想检查给animate
函数的值是否正确。但是我如何模拟或监视这个animate
函数呢?我可以这样想:
beforeEach(() => {
angular.element = () => {
return { animate: (options) => { .. }
}
});
或更好(但不工作)
spyOn(angular.element('html, body'), 'animate');
有没有更好的(angular的)方法来做到这一点?
可能是这样的?
var element = {
animate: null,
parentHeight: 100
};
spyOn(angular, 'element').andReturn(element);
spyOn(element, 'animate');
// Your test code goes here
expect(angular.element).toHaveBeenCalledWith('html, body');
expect(element.animate).toHaveBeenCalledWith(jasmine.objectContaining({
scrollTop: 100
}, 500);
相关文章:
- AngularJS,angular.element($0).scope()揭示了每个控制器的函数
- element.sortable 不是一个函数 Angular
- 即 11 + angularjs 找不到 angular.element(“#idName”) 的范围
- 有没有 angular.element 的简写
- 设置另一个控制器范围变量而不使用 angular.element (Angularjs)
- Angular、Ether Angular.element(“#n”) 或 $(“#n”) 中的有效 jq
- Element.prop('scrollHeight') 为 Angular.js 中的不同列表项返回相同的值
- angularjs:在$compile之前用angular.element包装模板字符串
- angular.element('#someId').scope()在IE 9中返回undefined
- 为什么不't Angular.element/jqlite查找顶级元素
- 在Jasmine测试中窥探Angular element.css函数
- AngularJS angular.element current DOM
- 如何模拟“angular.element”
- TypeError: & # 39;未定义# 39;不是一个函数(计算'angular.element(wind
- Angular.element (ready)函数在cordova中被调用两次
- 不能监视angular.element
- 从AngularJs外部更新作用域,而不使用angular.element.scope"
- element.ready vs angular.element($document).ready
- 在 AngularJS 中将 angular.element() 转换为模板
- 使用angular.element("[ng-controller=" someectrl &quo