2013-10-09 24 views
0

我正在使用茉莉花進行測試。如何檢查給定的jQuery選擇器上是否調用了方法?

基本上我想確保一個特定的方法正在執行給定的jQuery選擇器。

例如

$('.hidden-tag').show() 

目前,我有以下幾點:

describe("Test", function() { 
    beforeEach(function() { 
    spyOn(window, '$').andCallThrough(); 

    loadFixtures('my_fixture.html'); 
    }); 

    it("should call show method on the jQuery selector '.hidden-tag'", function() { 
    expect($).toHaveBeenCalledWith('.hidden-tag'); 
    }); 

}); 

第一部分作品。我如何得到它來檢查'show'方法是否被調用?

+0

據我所知沒有直接的方法來做到這一點...可能是一個小黑客可以幫你 –

+2

像http://jsfiddle.net/arunpjohny/GhMRs/1/ –

回答

0

使用:visible選擇一樣,

alert($('.hidden-tag').is(":visible")); 

使用$('.hidden-tag').is(":visible")if condition

if($('.hidden-tag').is(":visible")) 
{ 
    expect($).toHaveBeenCalledWith('.hidden-tag'); 
} 
+0

這不是我想要的不幸。它甚至不一定是一個'放映'的方法。它可能是我想檢查的任何方法。 –

-1

嘗試在Firefox中安裝火災的Bug。在那個開放的控制檯中,如果在調用'show'方法時出現任何錯誤,你會得到。

此外,您可以在方法之前和之後插入警報(消息)。如果以前的alert()沒有被調用,那麼問題就出現在'show'之前,如果alert()沒有被調用,那麼'show'有一些bug。

+0

OP要求在自動化測試期間驗證呼叫的方式,而不是探索性測試。 –

相關問題