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

abe*_*ger 2 ruby cucumber celerity capybara

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

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

Jon*_*n M 5

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

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

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