如何暂停AngularJS指令的单元测试,以便观察UI并与之交互? 动机
测试指令时;有时断言会以不明显的方式失败,堆栈跟踪没有帮助,使用Chrome Developer工具在断点上暂停时检查局部变量会将林隐藏在树后面 此时,我希望能够暂停单元测试(可能使用如何暂停AngularJS指令的单元测试,以便观察UI并与之交互? 动机,angularjs,unit-testing,jasmine,karma-runner,angular-mock,Angularjs,Unit Testing,Jasmine,Karma Runner,Angular Mock,测试指令时;有时断言会以不明显的方式失败,堆栈跟踪没有帮助,使用Chrome Developer工具在断点上暂停时检查局部变量会将林隐藏在树后面 此时,我希望能够暂停单元测试(可能使用iit或ddescribe),并查看指令的UI以缩小错误行为 目前为止 我以前使用KnockoutJS就能够实现这一点,并且发现它在复杂场景中非常有用。现在我想对AngularJS做同样的事情 我发现我可以将元素I$compiled与Angular一起附加到html主体,这使它可见,但是我无法与它交互,就好像所有
iit
或ddescribe
),并查看指令的UI以缩小错误行为
目前为止
我以前使用KnockoutJS就能够实现这一点,并且发现它在复杂场景中非常有用。现在我想对AngularJS做同样的事情
- 我发现我可以将元素I
d与Angular一起附加到html主体,这使它可见,但是我无法与它交互,就好像所有绑定都已关闭一样$compile
- 经过仔细检查,我发现在运行一个测试用例(一个
块)时,一切似乎都是有序的,一旦测试用例完成,所有事件侦听器就会从相应的DOM元素中消失,比如it
在
上单击侦听器
- 在深入挖掘之后,我发现在每个块之后都有一个
,它调用
在两个位置关闭DOM事件侦听器:.off()
- 及
- (通过
)angular.mock.clearDataCache();
- 当我注释掉这两行
时,瞧,附加的指令跳转到DOM中李>.off()
v1.2.10-build.2148+sha.fced1c0
)不是最前沿的版本,但新版本在涉及此部分时似乎只是在行号上有所不同
问题
有没有更好的(更受支持、更少特别和/或更少黑客)方法来实现我的目标?如果是,怎么做
编辑:版本
- 业力0.10.9
- 茉莉花1.3.1
- 角度模拟v1.2.10-build.2148+sha.fced1c0
- AngularJS 1.2.10-build.2148+sha.fced1c0