如何暂停AngularJS指令的单元测试,以便观察UI并与之交互? 动机

如何暂停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主体,这使它可见,但是我无法与它交互,就好像所有

测试指令时;有时断言会以不明显的方式失败,堆栈跟踪没有帮助,使用Chrome Developer工具在断点上暂停时检查局部变量会将林隐藏在树后面

此时,我希望能够暂停单元测试(可能使用
iit
ddescribe
),并查看指令的UI以缩小错误行为

目前为止 我以前使用KnockoutJS就能够实现这一点,并且发现它在复杂场景中非常有用。现在我想对AngularJS做同样的事情

  • 我发现我可以将元素I
    $compile
    d与Angular一起附加到html主体,这使它可见,但是我无法与它交互,就好像所有绑定都已关闭一样
  • 经过仔细检查,我发现在运行一个测试用例(一个
    it
    块)时,一切似乎都是有序的,一旦测试用例完成,所有事件侦听器就会从相应的DOM元素中消失,比如
    上单击
    侦听器
  • 在深入挖掘之后,我发现在每个块之后都有一个
    ,它调用
    .off()
    在两个位置关闭DOM事件侦听器:
    • (通过
      angular.mock.clearDataCache();
  • 当我注释掉这两行
    .off()
    时,瞧,附加的指令跳转到DOM中
注意:虽然我链接到的角度模拟版本(
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

是我误读了,还是您忽略了告诉我们您使用的单元测试框架/工具?通常我的单元测试是独立于UI的。如果您需要UI交互,可能还需要类似Selenium的东西,它也是一种UI测试。@JeffryHouser编辑了问题,将其包括在内。@JeffryHouser回答了您评论的第二部分:在单元测试AngularJS指令时,可以检查封装DOM的状态。更不用说可能了,它有时是完全可取的。示例:。所以我说的不是集成测试,因此Selenium没有任何用处