2015-11-25 2 views
0

Я хочу проверить, имеет ли модель действительный завод. Я получал неопределенную ошибку метода, когда использовал create, но он работал, когда я использовал FactoryGirl.create. Почему это.Нужна ясность в вопросе с factory_girl_rails

Вот как код выглядел так:

spec/models/contact_spec.rb 

require 'rails_helper' 

RSpec.describe Contact, type: :model do 

    it "should be a valid factory" do 
    contact = create(:contact) 
    expect(contact).to be_valid 
    end 
end 

spec/factories/contact.rb 

FactoryGirl.define do 
    factory :contact do 
    full_name  { Faker::Name.name } 
    email   { Faker::Internet.email } 
    phone_number { Faker::PhoneNumber.phone_number } 
    address  { Faker::Address.street_address } 
    end 
end 

WhenI изменил спецификации на то, что я ниже, я не получаю ошибку

require 'rails_helper' 

RSpec.describe Contact, type: :model do 

    it "should be a valid factory" do 
    contact = create(:contact) 
    expect(contact).to be_valid 
    end 
end 

Почему так?

ответ

0

Просмотреть начальный документ. Вам нужно сделать

# RSpec 
# spec/support/factory_girl.rb 
RSpec.configure do |config| 
    config.include FactoryGirl::Syntax::Methods 
end 

Если нет, то все ваши звонки на фабричной девушки должны начинаться с префикса FactoryGirl

+0

я на самом деле, что добавили. – kinsomicrote

+0

И вам все еще нужно префикс ваших методов? Создает ли ваш rails_helper/rspec_helper все файлы в спецификации/поддержке? Или вы добавили его в основной файл rspec_support? – Doon

+0

О, это была проблема. Я не раскомментировал строку, чтобы указать все файлы в spec/support. Благодарю. – kinsomicrote

Смежные вопросы