簡體   English   中英

如何模擬`angular.element`

[英]How to mock `angular.element`

在服務中,我有以下代碼片段

angular.element('html, body').animate({
        scrollTop: this.parentHeight + ... - ...
    }, 500);

在我的單元測試中,我想檢查是否給animate函數提供了正確的值。 但是如何模擬或監視此animate功能? 我可以想到這樣的事情:

beforeEach(() => {
    angular.element = () => {
        return { animate: (options) => { .. }
    }
});

或更好(但不起作用)

  spyOn(angular.element('html, body'), 'animate');

有更好的(角度)方法嗎?

像這樣的東西?

 var element = { animate: null, parentHeight: 100 }; spyOn(angular, 'element').andReturn(element); spyOn(element, 'animate'); // Your test code goes here expect(angular.element).toHaveBeenCalledWith('html, body'); expect(element.animate).toHaveBeenCalledWith(jasmine.objectContaining({ scrollTop: 100 }, 500); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM