自由帳

既に知っていることも含めて再アウトプット用に書きます✍️

[RuboCop RSpec]FactoryBot

RSpec/FactoryBot/AttributeDefinedStatically

属性値は常にブロックとして宣言してください。

# bad
kind [:active, :rejected].sample

# good
kind { [:active, :rejected].sample }

------------------------------------------

# bad
closed_at 1.day.from_now

# good
closed_at { 1.day.from_now }

------------------------------------------

# bad
count 1

# good
count { 1 }

RSpec/FactoryBot/CreateList

create_listの場合(EnforcedStyle: create_list)

# bad
3.times { create :user }

# good
create_list :user, 3

# good
3.times { |n| create :user, created_at: n.months.ago }

n_timesの場合(EnforcedStyle: n_times)

# bad
create_list :user, 3

# good
3.times { create :user }

RSpec/FactoryBot/FactoryClassName

クラス属性を明示的に設定する場合は、文字列を使用します。

# bad
factory :foo, class: Foo do
end

# good
factory :foo, class: 'Foo' do
end

関連URL

docs.rubocop.org