2017-05-30 99 views
0

我有角的分量下一个方法:如何使用jasmine测试jquery调用?

private onTopClick() { 
    $('body,html').animate({ scrollTop: 0 }); 
} 

我怎么能茉莉花测试呢?只是为了检查是否已经调用了“动画”方法。

回答

1

您可能需要使用一对夫妇的功能...

  • 首先,建立了animate功能间谍。也许你会想要在所有的测试中或者在每个测试之前做到这一点,很可能只是一次测试;您可能还需要间谍拦截,来电后做,例如.and.callFake().and.callThrough(),等...

    beforeEach(function() { 
        spyOn($.fn, "animate"); 
    }); 
    
  • 您的实际测试(S)检查是否animate函数被调用内部之后。五月的样子......

    it("should call '$(selector).animate'", function() { 
         onTopClick(); 
         expect($.fn.animate).toHaveBeenCalled(); 
    }); 
    

更多关于茉莉测试是over here

+0

感谢您的回复。但不幸的是,它不起作用: [错误](http://prntscr.com/fdzsu5)+我有Visual Studio代码中的下一个错误:“属性'animate'类型'JQueryStatic'上不存在。” – Maxim

+0

@Maxim对不起,我修正了代码示例。 –

+0

谢谢,这工作。 – Maxim

相关问题