factorybotのtraitってなんぞ?

factory_botを使っていて、traitっていうものが出てきました。よくわかっていませんでした。ちょっとそのことについて、簡単にまとめておきたいと思います。

factorybotのtraitってなんぞ?

結論

結論から言うとfactorybotやspecをdryに書くための機能です。

例えば、ほとんど一緒だけど、ある別のステータスを持たせたいfactoryデータを作りたい時に便利です。

ちょっと詳しく

factory_botのtraitですが、結論から言うとfactoryをdryにわかりやすく書く機能です。

例えばrspecでテストを書くときに、taskモデルがあったとして、そのタスクのnot doneタスクと、doneのタスクをテストしたいとします。

その場合にどうやってfactoryを書くかってことなんですが、ほぼ同じようなパラメーターのtaskのfactoryを2つ書かなくてはいけませんよね。

そんな時、traitを使うと便利です。ある変更したいステータスだけの値を更新することができます。細かく書くと色々と出てきてしまうの、別の記事を参照してください。概念的なところだけを説明しました。

では!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA