How FixtureBot compares to Rails fixtures, FactoryBot, and Oaken
mainFixtureBot provides a Ruby DSL that compiles down to standard YAML fixtures. This allows you to keep the speed of Rails fixtures while avoiding the maintenance pain of hand-written YAML.
Key Comparisons
| Feature | FixtureBot | Rails fixtures | FactoryBot | Oaken |
|---|---|---|---|---|
| Define data in | Ruby DSL | YAML | Ruby DSL | Ruby scripts |
| Output | YAML files in git | YAML files in git | Database rows per test | Database rows at boot |
| Runtime dependency | None | None | Required per test | Required at boot |
| Data set | One set, loaded once | One set, loaded once | Built per test | Per-test via seed files |
| Speed | Fast (fixtures) | Fast (fixtures) | Slow (inserts per test) | Varies |
| Stable IDs | Deterministic | Deterministic | Database-assigned | Database-assigned |
Core Philosophy
- Vs Rails Fixtures: FixtureBot solves the