# Essentially generates a modified Tempfile object similar to the object
# you'd get from the standard library CGI module in a multipart
# request. This means you can use an ActionController::TestUploadedFile
# object in the params of a test request in order to simulate
# a file upload.
# Usage example, within a functional test:
# post :change_avatar, :avatar => ActionController::TestUploadedFile.new(Test::Unit::TestCase.fixture_path + '/files/spongebob.png', 'image/png')
# Pass a true third parameter to ensure the uploaded file is opened in binary mode (only required for Windows):
# post :change_avatar, :avatar => ActionController::TestUploadedFile.new(Test::Unit::TestCase.fixture_path + '/files/spongebob.png', 'image/png', :binary)
I am a technologist who became test infected in 2004 and I have been trying to spread it ever since. This blog was formally titled "XP in Anger"
Monday, June 29, 2009
Testing File Uploads in Rails
I was frustrated today trying to figure out why the HTTP functions in Integration::Session were converting my UploadStringIO class parameters to String instances using 'inspect'. Turns out for these specific Rails 2.1.2 performance tests you have to use a special class named ActionController::TestUploadFile. Here is the sample documentation:
Subscribe to: Post Comments (Atom)
Post a Comment