【发布时间】:2014-07-07 10:41:48
【问题描述】:
我想加快使用carrierwave gem 上传远程图片url 的规范测试。在我的模型中,我只允许通过远程 url 上传图像,而不是通过上传。为了测试模型,我使用带有 remote_image_url 字段和占位符图像的 FactoryGirl。
我的测试运行成功,但由于下载图像,每次测试都需要很长时间(大约 3-4 秒)。我知道我可以存根测试以避免这些外部 http 请求,但我不知道如何与工厂女孩一起做。有人可以帮忙吗?
型号:
class Store < ActiveRecord::Base
mount_uploader :image, StoreUploader
attr_accessible :name, :remote_image_url
validates :remote_image_url, presence: true
end
工厂:
FactoryGirl.define do
factory :store do
name "Corner store"
remote_image_url "http://placehold.it/800x600"
end
end
RspecController:
describe Api::StoreController, type: :api do
let!(:store) { create :store }
before(:each) do
get :show, id: store.id
end
it "returns a successful response" do
expect(response).to be_success
end
it "each store has the correct fields" do
expect(json).to match("name", "image")
end
end
【问题讨论】:
标签: ruby-on-rails rspec carrierwave factory-bot stub