Was*_*eem 6 rest integration-testing ruby-on-rails cucumber
嗨,我的应用程序中没有任何前端.我愿意发布一个可供不同客户使用的RESTful API.任何指针如何进行黄瓜测试?控制器中的每个操作仅生成XML提要.任何指针或建议?
小智 9
visitwebrat 的功能接受http_method作为第二个参数.您还可以在以下黄瓜规则中测试您的api:
When /^I restfully delete (?:|the )user "([^\"]*)"$/ do |login|
visit(path_to("user \"#{login}\" page"), :delete)
end
Run Code Online (Sandbox Code Playgroud)
我认为Webrat不仅仅是你需要的东西.对于XML Feed测试,您不需要像Webrat这样的浏览器模拟器,当您真的没有任何HTML页面时,它会加载页面并分析所有标记(链接,表单等).
你需要像Curl(http://curl.haxx.se)或Curb(在rubyforge上,这是Curl的红宝石绑定)或Patron(在rubyforge上).
这些库可以根据您的喜好制作请求标头(例如,设置Content-Type,选择GET PUT POST DELETE HEAD等)并获得响应,并且可能在需要时遵循302重定向.
返回的响应可以转换为XML对象,可用于Ruby的XML解析器可用于测试输出.此外,您可以编写XMLMapping类(在rubyforge上)将XML输出转换为Ruby对象并测试其属性等.这更清晰,恕我直言.
小智 5
jayzes已经使用Rack :: Test :: Methods,JSONpath,Nokogiri等分享了他的黄瓜测试步骤示例来编写json/xml API的测试,您可能想要参考并为自己的步骤创建更多.
https://github.com/jayzes/cucumber-api-steps
| 归档时间: |
|
| 查看次数: |
8317 次 |
| 最近记录: |