Przy budowie następujące fabryki:Korzystanie Oprawy z factory_girl
Factory.define :user do |f|
f.sequence(:name) { |n| "foo#{n}" }
f.resume_type_id { ResumeType.first.id }
end
ResumeType.first
zwraca nil i dostaję błąd.
ResumeType
zapisy są ładowane za pośrednictwem urządzeń. Sprawdziłem przy użyciu konsoli i wpisy są tam, tabela nie jest pusta.
Znalazłem podobny przykład na liście mailingowej factory_girl i powinno działać.
Czego mi brakuje? Czy muszę jakoś powiedzieć factory_girl, aby skonfigurować urządzenia przed uruchomieniem testów?
To właśnie moja test_helper wygląda następująco:
ENV["RAILS_ENV"] = "test"
require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
require 'test_help'
class ActiveSupport::TestCase
self.use_transactional_fixtures = true
self.use_instantiated_fixtures = false
fixtures :all
end
Dlaczego stosować mieszaninę fabryk i sprzętów? Fabryki zastępują urządzenia. –
Jak wygląda twój test_helper.rb? –
Używam urządzeń dla stałych danych, które nie zostaną zmienione przez nikogo po tym, jak zostanie zaimplementowany. – deb