Tôi đang cố gắng để chạy rspec với FactoryGirl, nhưng tôi tiếp tục nhận được lỗi này:ArgumentError: Nhà máy không đăng ký
1) Products Update with invalid information
Failure/Error: let(:product) { FactoryGirl.create(:product) }
ArgumentError:
Factory not registered: product
# ./spec/requests/products_spec.rb:47:in `block (3 levels) in <top (required)>'
# ./spec/requests/products_spec.rb:52:in `block (3 levels) in <top (required)>'
-
Dưới đây là các thử nghiệm với các lỗi (spec/yêu cầu/products_spec.rb):
describe "Read" do
let(:product) { FactoryGirl.create(:product) }
before { visit product_path(product) }
it { should have_text(product.title) }
end
-
Dưới đây là nhà máy (spec/factories.rb):
FactoryGirl.define do
factory :product do
title "Lorem ipsum"
description "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce vitae ipsum consectetur, semper dolor sed, dignissim enim."
image_url "lorem.png"
price 9.95
end
end
-
tôi khởi động lại máy chủ (với Spork và Guard) và có gì thay đổi, mặc dù tôi có thể không được khởi động lại Spork/Bảo vệ chính xác.
-
tôi làm có require 'factory_girl' trong spec của tôi/spec_helper.rb.
-
Dưới đây là tôi Gemfile. Lưu ý rằng Tôi đang sử dụng "factory_girl_rails" trong Gemfile tôi:
source 'https://rubygems.org'
gem 'rails', '4.1.1'
gem 'sass-rails', '~> 4.0.3'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
# gem 'bcrypt', '~> 3.1.7'
group :development do
gem 'spring'
gem 'sqlite3', '1.3.8'
gem 'minitest'
gem 'rspec-rails', '2.13.1'
gem 'guard-rspec', '2.5.0'
gem 'spork-rails', '4.0.0'
gem 'guard-spork', '1.5.0'
end
group :test do
gem 'selenium-webdriver', '2.35.1'
gem 'capybara', '2.1.0'
gem 'growl', '1.0.3'
gem 'factory_girl_rails', '4.2.1'
end
group :production do
gem 'pg', '0.15.1'
gem 'rails_12factor', '0.0.2'
end
group :doc do
gem 'sdoc', '0.4.0', require: false
end
-
Bạn có thể tìm ra lỗi?
Có thể thêm 'config.include FactoryGirl :: Cú pháp :: Phương thức' vào khối' RSpec.configure'. Nhưng nó sẽ làm việc mà không có điều đó nói chung. – zishe
Cũng không có nhu cầu về spork vì 'spring' xuất hiện, nó thay thế hoàn toàn. – zishe
bạn đã thử tạo nhà máy như ** spec/factories/products.rb ** – robzdc