Rails3、キュウリ、カピバラ、ファイルアップロード=>不良コンテンツボディ(eoferror)?

StackOverflow https://stackoverflow.com/questions/3710959

質問

簡単なファイルアップロードテストを機能させるのに苦労しています。キュウリとカピバラでRuby 1.9.2でRails 3.0.0を使用しています。

意見:

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

キュウリのステップ:

When /^I upload the basic file$/ do  
  visit path_to("upload")
  path = File.join(::Rails.root, "somefile") 
  attach_file("file", path)
  click_button("Upload")
end

私のコントローラーでは、以下を除いてすべてをコメントしました。

def create
  file = params[:file]
end

Gemfile Snippet:

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'

助けや洞察に感謝します。ありがとう。

役に立ちましたか?

解決

これはラックテストの問題であることが判明しましたが、Rails3とRuby 1.9.xを採用するまで、ほとんどの人にとって問題にはなりません。

ラックテストのアップグレード 現在のマスターブランチ 問題を修正しました。ラックテストがいつ宝石にこれらの変更を含めるかはわかりません。

参照:groups.google.com/group/cukes/browse_thread/thread/5028306893c2c54a

他のヒント

私は答えを持っていませんが、同じ環境で同じ問題に取り組んでいます - キューク、カピバラ、レール3、1.9.2 ....これを理解したら、あなたに知らせます。 Cucumber Google GroupまたはRails Googleグループに投稿することを考えましたか?あなたが一度私が私の行動をまとめていて、理解できないならば、これらのいずれかに投稿します。

また、WebratにはAttach_File()の方法があるため、Capybaraなしでキュウリを生成すると、Web_Steps.rbに帰結方法がありましたが、Capybaraを追加してキュウリを再生した後、消えてしまいました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top