1

我正在将由 Iphone 应用程序使用的 Rails 应用程序之上构建一个 REST Web 服务层。响应格式为 XML。

我想构建一些应该在 rails 堆栈外部的验收测试(并且应该测试所有内容,包括 http 服务器)。测试场景相当复杂,涉及搜索/发布/查看订单的过程。实现这一目标的最佳解决方案是什么?

一种。使用 curl/curb 获取请求并使用 Hpricot 解析请求的 Ruby 脚本

湾。硒

C。..

这些测试可以用作集成测试也很好(因此,在每次 git 提交上运行)。您会推荐什么集成解决方案?

一种。正直

湾。巡航控制

C。别的东西

4

3 回答 3

1

在 ruby​​ 模式下使用 selenium-rc,你会成为一个快乐的露营者。Webrat/Cucumber 已经为您完成了这项工作,因此您可以将其放在第二个项目中并以这种方式运行测试,您所要做的就是覆盖主机(因此您将使用您的域而不是 localhost)。

至于CI,恐怕我不知道最好的那个。

于 2010-01-18T16:08:18.383 回答
1

在过去的几年里,我使用了三种方法

活动资​​源

我发现这太在意看起来像 active-record 是一个很好的解决方案。在某些情况下,我必须修补它的一部分才能正常工作,因为我希望 REST 客户端能够正常工作。


休息客户端

这个宝石非常- 有据可查,并且可以按预期工作。我将它与我自己的简单 DSL 结合起来,结果比通用测试框架更好


基于 HTTP 的 XML

我用它来进行性能测试。非常灵活,但学习曲线比 Rest-client 高。如果您采用这种方法,您可以使用Net::HTTP核心类或HTTParty gem(我没有尝试过,但它看起来很棒>

一个非常好的资源是这个Net::HTTP 备忘单


对于临时测试,我还发现Firefox 的 Rest Client 插件非常有用。

于 2010-01-19T08:24:47.537 回答
-1

你不可能意味着 mks 的完整性......如果是这样,答案就是。CC 是一个很好的 CI 工具。真的很好。

于 2010-01-20T21:50:48.777 回答