いつの間にか Fabrication がバージョン2になっていて、そこで非互換な変更がされたようです。バージョン1からの移行の仕方が書かれた Fabrication 2.0 Upgrade Guide - The Hashrocket Blog を意訳したので載せときます。
全ての末尾の”!”を削除
”!” は deprecatedに。まだ動くけど warning がでます。
attribute ブロック引数の使用方法を変更
fabrication 1.x では、ブロック引数には生成したオブジェクトが渡されていた。2.0 では attributes の hash を渡すように。
1.x だとこうだけど
Fabricator(:person) do
first_name { Faker::Name.first_name }
email { |person| "#{person.first_name.downcase}@example.com" }
end
2.0 だとこう書く
Fabricator(:person) do
first_name { Faker::Name.first_name }
email { |attrs| "#{attrs[:first_name].downcase}@example.com" }
end
cucumber steps を再び生成する
steps 内のバグを直したり新しい機能を追加したりしたので、cucumber つかってるなら下記のコマンドで steps を作り直す必要がある。
rails g fabrication:cucumber_steps