Только что переключился с Cucumber + Webrat на Cucumber + Capybara, и мне интересно, как вы можете отправить контент по URL-адресу в Capybara.
В Cucumber+Webrat мне удалось сделать шаг:
When /^I send "([^\"]*)" to "([^\"]*)"$/ do |file, project|
proj = Project.find(:first, :conditions => "name='#{project}'")
f = File.new(File.join(::Rails.root.to_s, file))
visit "project/" + proj.id.to_s + "/upload",
:post, {:upload_path => File.join(::Rails.root.to_s, file)}
end
Однако в документации Capybara упоминается:
Метод посещения принимает только один параметр, метод запроса всегда GET.always GET.
Как мне изменить свой шаг, чтобы Cucumber + Capybara выполнял POST для URL-адреса?
POST
. Естественно, я хочу это проверить. (И, конечно же, пользователь может использоватьcurl
.) Иногда нам нужно опустить уровень абстракции. - person Nathan Long   schedule 22.08.2014