是否可以在不使用rails的情况下使用Cucumber测试javascript密集的Web应用程序?

时间:2012-04-11 01:52:52

标签: ruby cucumber capybara celerity

我正在尝试设置Cucumber来测试基于PHP的Web应用程序。该应用程序具有许多基于JavaScript的动态功能。从我的谷歌搜索,似乎这意味着我应该使用Celerity / Culerity或Capybara作为我的网页浏览宝石。但是,我似乎无法找到任何关于如何使用这些系统之一测试非Rails应用程序的好例子。他们的所有文档都假定我使用的是Rails或Rack应用程序。

长话短说:我是不是在叫错树?在没有Rails的情况下,这些都是实用的吗?如果是这样,你能指点一些资源和/或如何做的例子吗?

2 个答案:

答案 0 :(得分:5)

这绝对实用,我们正在使用它在Windows上使用Capybara测试JS重型,遗留的.NET Web应用程序。我能想到的最好的资源是The Cucumber Book

通常,Capybara很容易设置为非Rack应用程序,您只需将app_host配置为指向已部署的PHP站点的URL。

您也无法访问应用程序中的模型类,这在处理Rails应用程序时是一个优势,因此您无法使用相同的模型轻松地将用户注入数据库。我们最终创建了ActiveRecord模型,仅用于操作和断言测试数据,这是一个不幸的重复。如果您的应用程序公开了可以替代使用的API,那么这可能是一个更好的解决方案!这在很大程度上取决于您的应用程序的工作方式以及您希望如何测试它。

答案 1 :(得分:0)

我正在测试使用Perl构建的网站。我正在使用Cucumber和Watir-webdriver。有一些很棒的使用它的教程。我发现最容易接受的是来自Alister Scott的Watirmelon Blog。就像Jon M所说,The Cucumber Book很棒。它引导您完成所有操作,即使您不使用Rails也很有用。我也在使用Rubymine,一个支持Cucumber的IDE。它提供语法高亮,甚至可以帮助存根代码(主要用于保存一些复制/粘贴)。此外,它集成到我的源代码控制系统中,这非常适合查看自上次提交以来我触摸过哪些文件而没有跳出来查看Tortoise文件。

FWIW,我正在开发Win7。