實際上,受Fransico(評論)的啓發,我寫下了自己的知識。 我寫我自己的答案,它也可以幫助其他人...
首先我想提及,我只回答我的問題 - 只做集成測試。 用黃瓜和硒。 和具體的JavaScript測試與茉莉花。
但是,當黃瓜(邊緣)的軌道集成測試(3.1),水豚和硒,你必須要知道的一些事情:
看,那你把所有的寶石更新!
1)激活你的驅動程序,如果您還沒有
功能/支持/ capybara.rb
Capybara.javascript_driver = :selenium
2)目前只有Firefox的< = 4的作品與硒的webdriver鋼軌,因爲我幾乎沒有幾個小時從頭開始配置和安裝每個組件,比如機架等。
3)水豚本身處理不了很多,它可以幫助你輕敲在列表中,尤其是jquery-tokeninput。
3.1)我用這個列表從標記選擇一個項目:
When(/^I select the option containing "([^\"]*)" in the Tag List/) do |text|
find("li:contains('#{text}')").click
end
你會發現這個方法與「定位」,而不是找到的,不要嘗試,API /驅動器具有改變發現。 查找自動等待並檢查Ajax響應以及dom查找元素。
4)爲您的JS/Ajax響應代碼添加您自己的幫助程序/查找程序/點擊例程, 請記住,它是「唯一」的集成測試,您可能想要使用yasmine或其他js測試您的JS代碼測試框架。
如需更多信息,還可以查看Ryan Bates(http://railscasts.com)的Screencast,他涵蓋了幾個關於Testing Rails的主題;檢查最新的一個爲JavaScript
或者本博客:http://openmonkey.com/2010/04/09/javascript-testing-with-cucumber-capybara/ (日Thnx舊金山)
希望這可以幫助別人也是如此。
已經有關於此主題的截屏視頻,但它完全不符合我的需求,所以看到一個共同的最佳實踐是非常困難的。 – radosch 2011-05-12 00:15:36
這是否符合您的需求? http://openmonkey.com/2010/04/09/javascript-testing-with-cucumber-capybara/ – Fran 2011-06-02 09:09:49
是的,其實我發現也只有這個...其他文章中有關硒測試。 – radosch 2011-06-03 06:15:36