1
我將對象保存到RSpec中的數據庫。該對象具有Carrierwave字段及其存在驗證。我在工廠使用fixture_file_upload
這個字段,速度很慢。我想完整地對Carrierwave文件進行處理,但是所有的解決方案都顯得過時了,我無法讓它們工作。在RSpec中蹭載波以加速測試
我的模型:
class Product < ActiveRecord::Base
validates_presence_of :image
mount_uploader :image, ProductMainImageUploader
end
我廠:
factory :product do
name { Faker::Product.product_name }
slug { name ? name.parameterize : nil }
image { 'sample_image.jpg' }
end
我的規格:
describe Product do
it "creates record" do
ProductMainImageUploader.any_instance.stub(:store!)
ProductMainImageUploader.any_instance.stub(:store_image!)
product = create(:product)
end
end
結果:
1) Product creates record
Failure/Error: product = create(:product, name: 'heyo')
ActiveRecord::RecordInvalid:
Validation failed: Image can't be blank
# ./spec/models/product_spec.rb:26:in `block (2 levels) in <top (required)>'
存根根本沒有任何作用。我使用的是Ruby 2.1.0。我能做些什麼來解決這個問題?
謝謝,但我得到了同樣的錯誤:( – leemour