4
我有一個模型,其中我使用方法上載圖像如何測試文件上傳的模型?
在圖片控制器I調用 DataFile.save_image_file(PARAMS [:上傳])
我的代碼data_file.rb
def self.save_image_file(upload)
file_name = upload['datafile'].original_filename if (upload['datafile'] !='')
file = upload['datafile'].read
file_type = file_name.split('.').last
new_name_file = Time.now.to_i
name_folder = new_name_file
new_file_name_with_type = "#{new_name_file}." + file_type
new_file_name_thumb_with_type = "#{new_name_file}-thumb." + file_type
image_root = "#{RAILS_CAR_IMAGES}"
Dir.mkdir(image_root + "#{name_folder}");
File.open(image_root + "#{name_folder}/" + new_file_name_with_type, "wb") do |f|
f.write(file)
end
[new_name_file, new_file_name_with_type, new_file_name_thumb_with_type]
end
我想測試它的RSpec
data_file_spec.rb
require 'spec_helper'
describe DataFile do
describe "Should save image file" do
before(:each) do
@file = fixture_file_upload('/files/test-bus-1.jpg', 'image/jpg')
end
it "Creating new car name and thumb name" do
@get_array = save_file(@file)
@get_array[:new_name_file].should_not be_nil
end
end
end
但是測試不起作用
故障/錯誤:@file = fixture_file_upload( '/文件/測試總線-1.JPG', '圖像/ JPG') NoMethodError: 未定義的方法`fixture_file_upload」爲#
文件被感知,但是該方法並沒有看到另一個屬性裝載機 - 上傳[「數據文件」] – user1466717
鑑於我使用<%=是,file_field「上傳」,「數據文件」%> < %= submit_tag t('field.upload_file')%>
– user1466717
已處理 - DataFile.save_image_file(params [:upload] [:datafile],params [:car_id]) – user1466717