2013-11-26 46 views
0

我有一個相當大的rails應用程序,其主視圖由一個複雜的,深度嵌套的表單組成,這個表單由不同的用戶沿着預定義的過程流(user1輸入一些信息,user2輸入更多等等)進行編輯。Rails:Rspec + Capybara + Remote form?

我寫了一個很長的測試,使用Rspec +水豚爲了測試整個過程,它工作正常,直到我切換到使用遠程窗體(通過設置遠程:真)。

此時,我需要在使用js驅動程序和常規驅動程序之間進行切換,以便在同一視圖中測試不同的內容(提交時爲js,其他所有內容爲常規驅動程序),但似乎無法找到任何如何做到這一點的例子。

的主要問題是所有的測試文件,我發現假定您可以運行單獨的測試,每一個都有自己的驅動程序,只需通過設置JS:真實,做一些其他的變化,但我的問題是我需要的一切內發生與事件順序相同的測試是關鍵。

任何建議將不勝感激。

回答

0

我不相信你可以嵌套測試使用不同的水豚驅動程序,同時保持上述嵌套測試的變化;從rack_test改爲webkit或selenium時,更改不會發生變化。我有一個類似的問題,就是讓水豚用remote => true set來檢測更改,最終讓它與webkit驅動程序一起工作。我在這裏發佈了對我有用的東西: Capybara, Javascript and RSpec Integration Tests with :remote => true

您可能只是想重構一下遠程表單測試之前需要完成的步驟,然後才能在before塊中調用以保留代碼清潔。