Ошибка в Factory_girl: NoMethodError: неопределенный метод - rspec и rails 3.1.0 - PullRequest
1 голос
/ 10 сентября 2011

У меня проблема с factory_girl.Вот ошибка с rspec.

"Сбой / Ошибка: customer = Factory (: customer,: name => nil) NoMethodError: неопределенный метод` category1_id = 'для # Клиент: 0x4175418 "

Вот код rspec:

describe "data integrity" do
  it "should return error with no name" do
    customer = Factory(:customer, :name => nil)
    customer.errors[:name].should_not be_empty
    customer.should_not be_valid
  end
  it "should take a good name" do
    customer = Factory(:customer, :name => "good customer name")
    customer.errors[:name].should be_empty
  end
end

category1_id - это столбец в таблице клиентов.Вот customer.rb

class Customer < ActiveRecord::Base
  validates :name, :presence => true
end

Определение для Factory (: customer)

Factory.define :customer do |c|
  c.name "test customer"
  c.email "t@acom.com"
  c.phone "12345678"
  c.cell "1234567890"
  c.active 1
  c.category1_id 2
  c.short_name "test" 
end

Есть мысли?спасибо.

1 Ответ

0 голосов
/ 12 сентября 2011

Проблема исчезла после того, как зависимость от factory_girl_rails (by factory_girl) была удалена и Factory () была заменена на Factory.build ().

Каким-то образом factory_girl разработал зависимость от factory_girl_rails в моей системе (до сих пор не знаю, почему). При установленной factory_girl, проверка драгоценного камня требует установки factory_girl_rails. Однако, когда оба factory_girl и factory_girl_rails установлены, они генерируют конфликт с повторяющейся ошибкой. После нескольких часов неудачных попыток конфликтная зависимость загадочным образом исчезла после перезагрузки и перезагрузки системы.

...