NameError: неинициализированная константа Factory
Я следую этому руководству, чтобы начать работу с TDD на рельсах с девушкой factory, rspec и я столкнулся с этой проблемой, я не могу получить свою голову вокруг.
Здесь мой "factory". rb (events.rb)
require 'faker'
FactoryGirl.define do
factory :event do
name "HIGH"
genre "house, techno, idb"
venue_name "Westbourne Studios"
venue_address "4-6 Chamberlayne Road"
venue_postcode "NW103JD"
begin_time "10pm"
end_time "2am"
user_id 2
description "A Super massive party with loads of everything you would want around."
status true
venue_id nil
end
end
и здесь event_spec.rb:
require 'spec_helper'
require 'factory_girl_rails'
describe Event do
it "has a valid factory" do
Factory.create(:event).should be_valid
end
it "is invalid without a name"
it "is invalid without a genre"
it "is invalid without a venue_name"
it "is invalid without a venue_address"
it "is invalid without a venue_postcode"
...
end
Я установил модель, перенесенную и т.д., и когда я запустил "rspec spec/models/event_spec.rb", я получаю следующую ошибку:
Failures:
1) Event has a valid factory
Failure/Error: Factory.create(:event).should be_valid
NameError:
uninitialized constant Factory
# ./spec/models/event_spec.rb:7:in `block (2 levels) in <top (required)>'
Finished in 0.1682 seconds
13 examples, 1 failure, 12 pending
Failed examples:
rspec ./spec/models/event_spec.rb:6 # Event has a valid factory
Randomized with seed 64582
Ответы
Ответ 1
Попробуйте использовать его таким образом:
FactoryGirl.create(:event).should be_valid
Я думаю, я помню, что это только "Factory" в старых версиях драгоценного камня. Если вы посмотрите в недавнем "Начало работы" из Factory Girl, есть только вызовы с" FactoryGirl".
Ответ 2
Если вы создаете спецификацию файла /support/factory _girl.rb с контентом:
RSpec.configure do |config|
config.include FactoryGirl::Syntax::Methods
end
Затем вы можете просто использовать:
create(:event)
build(:book)
Вместо:
FactogyGirl.create(:event)
FactogyGirl.build(:book)
Ответ 3
У меня была такая же ошибка с ботом factory, и для дополнения ответа Стефана я наткнулся на этот маленький чит-лист.
https://devhints.io/factory_bot