我想在谷歌應用腳本上做BDD。我明白,原則上我應該能夠使用黃瓜,水豚和機械化的組合來在非軌道外部站點上執行BDD。在這種情況下,我正在測試我創建的Google App腳本。如何獲得黃瓜/水豚/機械化工作對外部non-rails網站
我已經在這個項目中得到了完整的代碼至今:
https://github.com/tansaku/GoogleAppScriptBDD
不過我目前停留在此錯誤:
rack-test requires a rack application, but none was given (ArgumentError)
我知道,我不想使用機架,我一直在搜索論壇和堆棧溢出,到目前爲止我最好的猜測是這樣的在我的黃瓜env文件中:
require 'capybara/cucumber'
Capybara.run_server=false
Capybara.current_driver = :mechanize
Capybara.app_host = 'https://script.google.com/macros/s/AKfycbytA2xBsaQ0_FSJXNkPVXQekBnWD4hXPOaCjCT00wo/dev'
這SO職位是相關的:
How to use Cucumber to test non-Ruby, non-Rack API's
但我想利用水豚,因爲我測試的HTML界面。另一種方法在這裏描述:
http://blogs.kent.ac.uk/webdev/2012/08/02/using-capybara-webkit-with-cucumber-without-rails-or-rack/
,我一直在這裏下面的討論:
https://groups.google.com/group/cukes/browse_thread/thread/297163800eaf2968
但是我真的想了解如何只是把現成的東西,並且我希望能夠使用機械化,而不是上面提到的博客文章中描述的webkit,因爲我現在對機械化有了更好的理解。
無論如何,這裏有一個最佳實踐,或者我只是繼續試驗替代品嗎?
什麼有點鬱悶的是,水豚說明操作:https://github.com/jnicklas/capybara 說:
If you are not using Rails, set Capybara.app to your rack app:
Capybara.app = MyRackApp
但產生不同的錯誤「未初始化常量對象:: MyRackApp(NameError)」,我不知道MyRackApp應該是什麼,或者在哪裏可以找到(我一直在使用ruby的一般問題: - /),我應該通過黃瓜或水豚來源找出MyRackApp是什麼?
無論如何,以爲我會記錄所有這一切 - 任何建議非常感謝。我很想能夠BDD我的谷歌應用程序的腳本...
非常感謝 - 這讓我感覺很好 - 現在我在使用硒,這可能是更好的,因爲它貫穿瀏覽器,使我能夠順利地處理Google登錄 - 但我將它帶入一個新問題:-(http://stackoverflow.com/questions/15681615/how-to-use-capybara-has-text將不得不放棄TDD一段時間,我認爲... – 2013-03-28 12:19:18