Ruby on rails 在Rails中测试文件是否成功上载
我正在运行Rails 3.2.13 在我的一个控制器中,应用程序处理一个表单,用户通过该表单发送文件。 应用程序分析文件并保存或不保存,具体取决于分析 我想写一个功能测试,测试正确的文件是否被保存,错误的文件是否没有被保存 我正在从test/fixtures/files加载文件,如下所示:Ruby on rails 在Rails中测试文件是否成功上载,ruby-on-rails,file-upload,functional-testing,Ruby On Rails,File Upload,Functional Testing,我正在运行Rails 3.2.13 在我的一个控制器中,应用程序处理一个表单,用户通过该表单发送文件。 应用程序分析文件并保存或不保存,具体取决于分析 我想写一个功能测试,测试正确的文件是否被保存,错误的文件是否没有被保存 我正在从test/fixtures/files加载文件,如下所示: resource_file = Rack::Test::UploadedFile.new(Rails.root. join('test', 'fixtures', 'files', 'f1.jpg')
resource_file = Rack::Test::UploadedFile.new(Rails.root.
join('test', 'fixtures', 'files', 'f1.jpg'))
运行测试时,此文件保存在哪里?/spec/support/fixture_file.rb
include ActionDispatch::TestProcess
def fixture_file(filename, extension)
fixture_file_upload(Rails.root.join('spec', 'fixtures', filename), extension)
end
/spec/factories/offers.rb
FactoryGirl.define do
factory :offer do
large_picture { fixture_file("ostrov.jpg", "image/jpeg") }
end
end
另外,它也适用于TestUnit这不是位置问题。测试时,文件似乎存储(或模拟存储)在“资产”位置。我忘了在加入名称时添加'app',比如File.join('app','assets'…)