読者です 読者をやめる 読者になる 読者になる

rspecのbefore :each doについて

rspec

rspecの書き方で、beforeの書き方で:eachをつけていることがあります。

何か違いがあるのでしょうか?という備忘録です。

    before :each do
      @smith = Contact.create(
        firstname: 'john',
        lastname: 'Smith',
        email: 'jsmith@example.com'
      )
      @jones = Contact.create(
        firstname: 'John',
        lastname: 'Jones',
        email: 'tjones@example.com'
      )
      @johnson = Contact.create(
        firstname: 'John',
        lastname: 'Johnson',
        email: 'jjohnson@example.com'
      )
    end
    before  do
      @smith = Contact.create(
        firstname: 'john',
        lastname: 'Smith',
        email: 'jsmith@example.com'
      )
      @jones = Contact.create(
        firstname: 'John',
        lastname: 'Jones',
        email: 'tjones@example.com'
      )
      @johnson = Contact.create(
        firstname: 'John',
        lastname: 'Johnson',
        email: 'jjohnson@example.com'
      )
    end

上記の2パターンがあったとします。

結論

どちらでもいいようです。

戸惑いましたけど、同じというオチでした。