2010-09-14 3 views
8

Мне нелегко получить простой процесс загрузки файлов. Я использую Rails 3.0.0 на ruby ​​1.9.2 с Cucumber и Capybara.Rails3, Cucumber, Capybara, Загрузка файла => Плохое тело содержимого (EOFError)?

Вид:

<%= form_tag "/upload/create", :multipart => true do %> 
    <label for="file">File to Upload:</label> 
    <%= file_field_tag "file" %> 
    <%= submit_tag "Upload" %> 
<% end %> 

Огурец Шаг:

В моем контроллере, я комментировал все, кроме:

def create 
    file = params[:file] 
end 

Gemfile сниппето:

group :development, :test do 
    # testing with specs 
    gem "ZenTest", ">= 4.3.3" 
    gem "autotest" 
    gem "rspec-rails", ">= 2.0.0.beta.19", :git => "git://github.com/rspec/rspec-rails.git" 
    gem "rspec", :git => "git://github.com/rspec/rspec.git" 
    gem "rspec-core", :git => "git://github.com/rspec/rspec-core.git" 
    gem "rspec-expectations", :git => "git://github.com/rspec/rspec-expectations.git" 
    gem "rspec-mocks", :git => "git://github.com/rspec/rspec-mocks.git" 
    # cucumber stuff 
    gem 'capybara' 
    gem 'database_cleaner' 
    gem 'cucumber-rails' 
    gem 'cucumber' 
    gem 'spork' 
    gem 'launchy' # So you can do Then show me the page 
    gem 'escape_utils' # needed to fix Cucumber - http://crimpycode.brennonbortz.com/?p=42 
end 

Когда я пытаюсь запустить тест, я получаю:

(::) failed steps (::) 
bad content body (EOFError) 
<internal:prelude>:10:in `synchronize' 

Я признателен за любую помощь или понимание. Благодарю.

ответ

2

Это оказалось проблемой при тестировании в стойке, и это, вероятно, не будет проблемой для большинства, пока больше людей не примет Rails3 и Ruby 1.9.x.

Устранение неполадок при установке стойки в current master branch. Я не уверен, когда в стойку будут включены эти изменения в драгоценный камень.

Смотрите также: groups.google.com/group/cukes/browse_thread/thread/5028306893c2c54a

0

У меня нет ответа, но я работаю над одной и той же проблемой в тех же средах, capybara, rails 3, 1.9.2 .... если я это выясню, вы узнаете. Вы думали о публикации в группе google google или группе google Rails? Если вы не один раз, когда я соберу свое действие и не могу понять, вы отправите его в один из них.

Кроме того, кажется, что webrat имеет метод attach_file(), и, таким образом, когда я сгенерировал огурец без capybara, у него был следственный метод в web_steps.rb, но после добавления каппибары и регенерированного огурца это исчезло ....

+0

Спасибо за помощь мне Давида. У меня еще не было времени, чтобы попытаться снова упасть на webrat, и поэтому я не уверен, где возникает проблема. До сих пор я размещал дом Капибары на git, но еще не получил ответа. – astjohn