我想通过POST将XML内容发送到简单的Rails项目中的控制器('Parse')方法('索引')。它不是RESTful,因为我的型号名称不同,比如'汽车'。我有一个可行的功能测试如下:来自黄瓜的HTTP POST XML内容
def test_index
...
data_file_path = File.dirname(__FILE__) +
'/../../app/views/layouts/index.xml.erb'
message = ERB.new(File.read(data_file_path))
xml_result = message.result(binding)
doc = REXML::Document.new xml_result
@request.env['RAW_POST_DATA'] = xml_result
post :index
assert_response :success
end
我现在想的黄瓜(0.4.3),并想知道,我怎么可以模拟在“当”条款POST请求。我只有一个控制器方法“索引”,并在配置/ routes.rb中我有以下几点:
ActionController::Routing::Routes.draw do |map|
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
end
- 黄瓜内webrat仅适用于HTML,而不是可以做POST?
- @request变量不可用于黄瓜环境?
- 如果我使用类似“访问索引”(假设它是和解析控制器,指数法)在功能/ step_definitions/car_steps.rb,我得到以下错误:
undefined method `index' for # (NoMethodError)
上欣赏任何建议如何使用Cucumber与XML内容进行HTTP POST的集成测试。
@mbuf,如果其中一个答案解决了您的问题,则应通过单击投票区下面的复选标记将其标记为“已答复”。 – 2009-11-12 19:44:51
完成。谢谢你让我知道! – mbuf 2009-12-04 06:56:16
我已经发布如何使用Rails和黄瓜在这里测试JSON POSTs:http://stackoverflow.com/questions/5098626/how-to-test-posts-in-rails-capybara-cucumber-or-rspec/10404063# 10404063 – 2012-05-01 20:46:39