Web服务和XHR的集成测试

时间:2010-11-16 17:42:49

标签: ruby-on-rails integration-testing xmlhttprequest capybara

我正在使用Steak和Capybara进行集成测试。我还想测试我的模型的序列化输出(使用XML和JSON格式的webservices)。问题是JSON只能通过使用XML HTTP请求来实现。所以Capybara的访问方法不起作用。在我的验收测试中我似乎无法访问xhr方法(不确定原因,因为我在acceptance_helper.rb中需要正常的spec_helper.rb)。

您如何测试Web服务?使用xhr方法(在以某种方式要求之后)? Capybara的特殊方法?还有别的吗?

我也有一些自定义序列化(在普通my_object.to_xml旁边)。我想在模型测试中这样做会更好。那么您是否仍然会测试这些自定义序列化的Web服务输出?

1 个答案:

答案 0 :(得分:0)

您始终可以创建一个“代理”控制器,该控制器向Web服务发出请求并打印结果。它应该只在测试环境中可用,显然。然后你的Capybara测试访问代理并测试页面内容。