Factories With Random Data Instead Of Sequences

Definition:

  • When used alongside factories, random data generators may compromise the reliability of a test suite.

Code Example:

#Random factory

FactoryBot.define do
  factory :category do
    name { Faker::Lorem.word.capitalize }
  end
end
#Sequence factory

FactoryBot.define do
  factory :category do
    sequence(:name) { |n| "Category number #{n}" }
  end
end

References:

Quality attributes

  • - Code Example

  • - Cause and Effect

  • - Frequency

  • - Refactoring