我想在谷歌应用脚本上做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