簡體   English   中英

rails_fu在rails 3中進行測試

[英]attachment_fu testing in rails 3

我正在嘗試使用attachment_fu為工作文件上傳功能編寫規范。 但是,作者提供的用於測試的示例代碼要求我需要action_controller/test_process以便我可以訪問ActionController::UploadedStringIO類。 我之前在rails 2.x中使用過它,但對於rails 3,它無法找到test_process文件。

如何在rails 3中測試文件上載功能?

我能夠在Rails3和rspec上使用fixture_file_upload。

我剛剛在spec_helper.rb中添加了include ActionDispatch::TestProcess ,然后將以下內容作為filedata傳遞:

fixture_file_upload(Rails.root.join("spec/support/test.png"), 'image/png')

編輯:我升級的東西改變了這個行為總是包括fixtures路徑,所以我切換到這個而不是fixture_file_upload:

Rack::Test::UploadedFile.new(Rails.root.join("spec/support/test.png"), 'image/png')

我正在研究rails 3中的文件上傳測試,雖然我不知道我的答案會有多大幫助。 你有可能改變測試嗎? 就個人而言,我正在使用Cucumber / Capybara方法。 Capybara的DSL定義

attach_file('Image', '/path/to/image.jpg')

就個人而言,這似乎是一種比與StringIO對象交互更好的測試方法...隨意反駁。

找到Rails 3有點棘手

您仍然可以使用fixture_file_upload函數,但您必須添加:

include ActionDispatch::TestProcess

對你的測試用例。

這對Rspec來說根本不起作用。 我只需要抓取文件本身並直接發布文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM