2010-09-14 5 views
8

Ich habe Schwierigkeiten, einen einfachen Dateiupload-Test zu erhalten. Ich benutze Rails 3.0.0 auf Ruby 1.9.2 mit Gurke und Capybara.Rails3, Cucumber, Capybara, Datei hochladen => schlechter Inhalt Körper (EOFError)?

Ausblick:

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

Gurke Schritt:

In meinem Controller, ich habe für außer alles auf Kommentar:

def create 
    file = params[:file] 
end 

Gemfile Schnipsel:

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 

Wenn ich versuche, den Test auszuführen, erhalte ich:

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

Ich schätze jede mögliche Hilfe oder Einsicht. Vielen Dank.

Antwort

0

Ich habe keine Antwort, aber ich arbeite an demselben Problem in der gleichen Umgebung - cukybara, Schienen 3, 1.9.2 .... wenn ich das herausfinden werde Sie wissen lassen. Haben Sie darüber nachgedacht, auf der Google Group Google Gurke oder der Google Group Rails zu veröffentlichen? Wenn du es nicht einmal tust, bekomme ich meine Tat zusammen und kann nicht herausfinden, ob ich eine von diesen veröffentlichen werde.

Auch scheint es, dass webrat die Methode für attach_file hat() und damit, wenn ich erzeugen Gurke ohne Capybara es eine logische Folge Methode in web_steps.rb hatte, aber nachdem ich Capybara hinzugefügt und regenerierte Gurke war es verschwunden ....

+0

Dank für mich David zu helfen. Ich hatte noch nicht die Zeit zu versuchen, auf den Webrat zurückzugreifen, und daher bin ich mir nicht sicher, woher das Problem kommt. Bis jetzt habe ich Capybaras Haus auf Git veröffentlicht, aber habe noch keine Antwort erhalten. – astjohn