2

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

长话短说:我是不是找错树了?如果没有 Rails,这些中的任何一个都可以使用吗?如果是这样,您能否指出一些资源和/或示例来说明如何做到这一点?

4

2 回答 2

5

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

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

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

于 2012-04-11T06:34:13.517 回答
0

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

FWIW,我正在Win7上开发。

于 2012-04-13T16:40:01.853 回答