🙌

FactoryBotとFaker

2021/01/17に公開

FactoryBot
インスタンスをまとめることができるGem。他のファイルであらかじめ各クラスのインスタンスに定める値を設定しておき、各テストコードで使用する。

build
ActiveRecordのnewメソッドと同様の意味を持つ。

user = User.new(nickname: "test", email: "test@example", password: "000000", password_confirmation: "00000000")
user = FactoryBot.build(:user)

before
それぞれのテストコードを実行する前に、セットアップを行うことができる。各exampleのテストコードが実行される前にこれらをまとめて実行した方が効率的になる。その際に使用するものがbefore。
ただし、変数を受け渡す際は、beforeに定義する変数はインスタンス変数にする必要がある。

before do
  @user = FactoryBot.build(:user)
end

Faker
ランダムな値を生成するGem。メールアドレス、人名、パスワードなど、さまざまな意図に応じたランダムな値を生成してくる。

Discussion