我想知道是否有任何方式使用和不使用而無需複製代碼JavaScript的運行黃瓜情況下運行黃瓜場景。如何使用和不使用的JavaScript代碼,避免重複
我開發利用html5導航的網站。但是,如果瀏覽器不支持html5功能,它應該可以找到。
我想編寫黃瓜測試,將測試導航。 我知道我可以用簡單的黃瓜場景來測試基本的html導航。我可以使用相同的場景測試html5導航,但使用@javascript標記。
我更喜歡以避免此代碼重複。 我周圍掛鉤嘗試,希望我可以簡單的調用塊,然後調用相同的塊與
Capybara.using_driver(Capybara.javascript_driver) { block.call }
然而,這是行不通的。
任何人有任何想法如何實現這一點?
P.S. 我對Ruby很新,剛開始使用黃瓜。
我想我寧願寫預處理器,可以提取需要有和沒有@javascript執行步驟。這種方式的覆蓋率將是一致的 – acube
剛剛使用這種方法在頭幾個小時,我的頭撞在桌子上。只有第一個方案使用javascript_driver(如果沒有@javascript標記)運行,因爲current_driver在下一個方案運行之前重置爲default_driver。如果你想所有的場景與javascript_driver運行,那麼你需要設置default_driver Capybara.default_driver = Capybara.javascript_driver –