thoughtbot/factory_bot

Show the registered traits in the "Trait not registered" error message

Open

#1,727 opened on Jan 30, 2025

View on GitHub
 (2 comments) (0 reactions) (0 assignees)Ruby (2,563 forks)batch import
featuregood first issue

Repository metrics

Stars
 (8,166 stars)
PR merge metrics
 (Avg merge 10h 15m) (1 merged PR in 30d)

Description

Problem this feature will solve

Sometimes, when creating a new record with Factory Bot, we believe a trait exists, but it doesn't. That can happen because it was written in another way, because of a typo, or just because it wasn't implemented yet.

Failure/Error: admin = create(:user, :admin)

KeyError:
Trait not registered: "admin"

When that happens, we have to find the factory definition to know what are the available traits. It would be less disruptive to the flow to know what traits were registered.

Desired solution

We could see something like:

Failure/Error: admin = create(:user, :admin)

KeyError:
Trait not registered: "admin". Registered traits: "administrator", "guest"

Contributor guide