茉莉花试验NG-的mouseenter [英] Jasmine Test for ng-mouseenter

查看:144
本文介绍了茉莉花试验NG-的mouseenter的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我无法测试我的指令与NG-的mouseenter指令。

我想考几件事情,但首先,我需要测试提供的方法,NG-的mouseenter被调用。

我的测试:

 描述('悬停测试,函数(){
        它('的triggerPopover方法应该算得上悬停,函数(){
            spyOn($范围,'triggerPopover');
            VAR ARS =的jQuery(view.find('article.the级-IM-找换'));
            。jQuery的(ARS [0])触发('的mouseenter');
            期待($ scope.triggerPopover).to​​HaveBeenCalled();
        });
    });

我的指令使用说明:

 <物品我的指示性NG-的mouseenter =triggerPopover();>< /条>

结果:


  

要被称为预计间谍triggerPopover。
  在NG-的mouseenter的东西似乎并不被调用。



解决方案

的mouseenter 作为原生DOM事件并不被所有的浏览器支持:的 http://www.quirksmode.org/dom/events/index.html

NG-的mouseenter 建立在鼠标悬停事件,所以你可以触发它是这样的:

 的jQuery(ARS [0])触发('鼠标悬停');

I'm having trouble testing my directive with an ng-mouseenter directive.

I'd like to test several things, but first off, I need to test that the method supplied to ng-mouseenter is called.

my test:

describe('hover tests', function () {
        it('the triggerPopover method should be called on hover', function() {
            spyOn($scope, 'triggerPopover');
            var ars = jQuery(view.find('article.the-class-im-looking-for'));
            jQuery(ars[0]).trigger('mouseenter');
            expect($scope.triggerPopover).toHaveBeenCalled();
        });
    });

my directive use:

<article my-directive ng-mouseenter="triggerPopover();"></article>

Result:

Expected spy triggerPopover to have been called. The ng-mouseenter stuff doesn't seem to get called

解决方案

mouseenter as a native DOM event is not supported by all browsers: http://www.quirksmode.org/dom/events/index.html

ng-mouseenter builds on the mouseover event, so you can just trigger it like this:

jQuery(ars[0]).trigger('mouseover');

这篇关于茉莉花试验NG-的mouseenter的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆