開発中に Rails コンソールを起動すると、FactoryGirl がオブジェクトを作成しているのが見えます。明らかに私は間違っていますが、これを行う正しい方法は何ですか? このコードは私のテストを機能させます...
# tests/factories/board.rb
FactoryGirl.define do
factory :word do
sequence(:text) { |n| "FAKETEXT#{n}" }
end
factory :board do
trait :has_words do
words [
FactoryGirl.create(:word, id: "514b81cae14cfa78f335e250"),
FactoryGirl.create(:word, id: "514b81cae14cfa7917e443f0"),
FactoryGirl.create(:word, id: "514b81cae14cfa79182407a2"),
FactoryGirl.create(:word, id: "514b81cae14cfa78f581c534")
]
end
end
end
私のディレクトリ内のどのファイルにもファクトリに関する言及がないことに注意してくださいconfig
。そのため、ロードはgemによって自動的に行われます。Gemfile
私の読み取りの関連部分:
# Stuff not to use in production
group :development, :test do
# Command-line debugger for development
gem "debugger"
# for unit testing - replace fixtures
gem "factory_girl_rails"
end
だから私は工場の女の子を開発環境から連れ出すことができました。しかし、ファクトリが使用される前にこれらのレコードが作成されているという事実は、ファクトリの記述が間違っていることを示していると思います。しかし、ファクトリが正しく記述されていると言われれば、そのまま実行します。