有效地对操纵DOM的AngularJS指令进行单元测试
Effectively unit test an AngularJS directive which is manipulating the DOM
我正在用AngularJS编写一个简单的指令,为任何链接添加平滑的滚动效果。
我已经在这里发表了我的作品:https://github.com/arnaudbreton/angular-smoothscroll一切都在一个真实的上下文中工作,但我不知道如何正确地进行单元测试。我写了一个不能通过的测试,因为$window.pageYOffset
没有按预期增加。
谢谢你的帮助!
我做了一个拉请求,使您的测试运行。https://github.com/bennyjo/angular-smoothscroll/commit/e660a8e1a4497907a9c74d9e359f2bbfa0b8326c
基本上问题是没有空间可以滚动窗口。因此,不能滚动,测试正确地失败了。我在body元素上添加了一些高度,使窗口可以滚动。
$('body').height(window.innerHeight*2).append @target
在每次测试之前,我也重置了滚动位置。如果我们不这样做,第二个测试将会失败。
window.scrollTo(0, 0);
相关文章:
- AngularJS指令单元测试中未定义的函数
- AngularJS:指令限制:“E”阻止在Jasmine单元测试中调用元素click()事件
- 用于单元测试的模拟Angular引导程序ui指令
- 单元测试指令-无法强制使用假数据
- 如何在Angular 2中对指令进行单元测试2
- AngularJS单元测试指令's属性值
- 如何对需要测试其发射的角度指令进行茉莉花单元测试
- 为什么这个 Angular 指令没有在 Jasmine 单元测试中编译
- 使用 templateUrl 和 WITHOUT Karma 对 Angular 指令进行单元测试
- 具有默认范围的指令的单元测试
- 对指令进行单元测试,该指令的模板都是带有带有脚本标记的文件
- 单元测试 Karma Jasmine 语法错误:在“&”角度指令绑定上解析错误
- 无法对使用 $window 的 Angular 指令进行单元测试
- 单元测试角度指令包装光滑网格
- 无法在单元测试中编译从 Angular 1.3.0 开始的包含指令
- 角度指令控制器单元测试使用窗口.确认
- 对不考虑元素更改的 Angular 指令进行单元测试
- Karma 单元测试 Angular JS 指令与 externalUrl
- Angularjs指令单元测试问题
- 角指令单元测试中的模拟控制器实例化