2014-10-03 49 views
3

我正在測試一個Ember應用程序,並且我在表格中有一個鏈接。Ember.js測試:關注<a>鏈接

我可以通過選擇鏈接:

$('tr:nth-child(1) td:nth-child(3) a') 

在我的測試,我有:

click($('tr:nth-child(1) td:nth-child(3) a')); 

但這樣做console.log(currentURL());後我不是鏈接,上面的點擊應該有帶我去。

我需要更具體點擊鏈接嗎?或者我使用點擊錯誤?還是有一個不同的測試助手,我應該使用?

+0

您是否找到了解決方案? – ShivamD 2015-01-11 18:41:30

+0

我沒有。我做了其他的事情來解決這個問題,但現在不記得了。 – 2015-01-12 01:18:48

回答

0

click是一種異步方法,您需要在嘗試查看結果之前等待它完成。

click($('tr:nth-child(1) td:nth-child(3) a')); 
andThen(function(){ 
    console.log(currentURL()); 
}); 

click($('tr:nth-child(1) td:nth-child(3) a')).then(function(){ 
    console.log(currentURL()); 
}); 
+0

我試過第一個建議,然後再試一遍,發生同樣的事情。它不會轉到鏈接中的URL。 第二個不會返回任何內容,並且console.log從不觸發。我把它置於警戒狀態,但並未啓動。測試說沒有找到對象。 – 2014-10-03 20:32:24

+1

它是否在你的燼寶應用程序之外? – Kingpin2k 2014-10-03 21:15:31

+0

它與我的其他測試一起在我的測試套件中。 – 2014-10-04 00:43:03

0

我有這個確切的問題。在Ember應用程序中,我可以點擊標籤並按預期彈出一個模式對話框。在測試中,我正在爲這種模式寫作,似乎沒有任何工作。我可以鍵入

Ember.$('#id-of-tag').click(); 

在JS控制檯上,並出現模態。我把它粘貼到測試中,沒有任何反應。 我試過點擊(查找('#id-of-tag')[0])。

我們使用Ember 2.7.3,但很快就會切換到2.12。