はじめに
既にFactoryBotをRailsで利用している人向けのお話です。
rails console
でちょっと試したいことがあるけど、インスタンスの生成が面倒なモデルがあったりします。
FactoryBotでフィクスチャーが用意されていれば、それを使った方が手っ取り早いです。
しかし、rails console
を立ち上げただけではFactoryBotは使えません。
手順
rails console
はSandboxモードで立ち上げたほうがデータベースが汚れなくてよいでしょう。
$ rails console test --sandbox
(RAILS_ENV
がdevelopment
のときにもFactoryBotが有効になるようにしていればtest
は不要です)
FactoryBotをrequireします。
require 'factory_bot_rails'
FactoryBot
クラス名を明示せずにcreate
やbuild
を行えるようにします。(オプション)
include FactoryBot::Syntax::Methods
これでrails console
からFactoryBotが使えるようになります。
おまけ
コピペしてまとめて流す用のまとめです。
require 'factory_bot_rails'
include FactoryBot::Syntax::Methods