如何使用 Jasmine 测试嵌套的 ng-click

How to test nested ng-click using Jasmine

我有一个 HTML 是这样的:

<li ng-show="obj.displayTab" role="tab">
    <a tabindex="0"  ng-click="abc($event)">
      NAME
    <div id="stdCloseButton"  tabindex="0" role="button"  ng-click="xyz()">
       PIC
   </div>
   </a>

在 Jasmine 测试中,我想装配 xyz(),但即使我到达嵌套 div 并触发点击事件,它仍然会触发 abc()

 var closeDiv = testElement.find( '#stdCloseButton' ).first();
 angular.element( closeDiv).click();

不知道该去哪里。感谢帮助。

您的HTML无效。按照设计,内联元素(如 anchor)不能包含块元素(如 div),反之亦然。您无法对此进行测试的事实表明此处可能存在其他问题。考虑改用以下有效的 HTML。

<li ng-show="obj.displayTab" role="tab">
    <a tabindex="0"  ng-click="abc($event)">
        NAME
    </a>
    <div id="stdCloseButton"  tabindex="1" role="button"  ng-click="xyz()">
       PIC
   </div>
</li>