【问题标题】:How to test nested ng-click using Jasmine如何使用 Jasmine 测试嵌套的 ng-click
【发布时间】:2020-10-28 04:32:57
【问题描述】:

我有一个类似这样的 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();

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

【问题讨论】:

    标签: javascript angularjs unit-testing jasmine karma-jasmine


    【解决方案1】:

    您的 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>
    

    【讨论】:

    猜你喜欢
    • 2013-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多