1
0
Fork 0
mirror of https://github.com/thoughtbot/factory_bot.git synced 2022-11-09 11:43:51 -05:00
thoughtbot--factory_bot/spec
Daniel Colson d05a9a3c4c
Add definition names to default trait key errors (#1421)
* Add definition names to default trait key errors

Closes #1222

Before this commit, referencing a trait that didn't exist would raise a
generic `KeyError: Trait not registered: "trait_name"`. This can
sometime make it difficult to know where exactly the error is coming
from. The fact that implicitly declared associations and sequences will
fall back to implicit traits if they can't be found compounds this
problem. If various associations, sequences, or traits share the same
name, the hunt for the error can take some time.

With this commit we include the factory or trait name (i.e. the
definition name) in the error message to help identify where the
problematic trait originated.

Because trait lookup relies on a more generic class that raises a
`KeyError` for missing keys, we rescue that error, then construct a new
error with our custom message using the original error's message and
backtrace.
2020-07-10 11:53:20 -04:00
..
acceptance Add definition names to default trait key errors (#1421) 2020-07-10 11:53:20 -04:00
factory_bot Run standardrb 2020-06-10 17:11:39 -04:00
support Run standardrb 2020-06-10 17:11:39 -04:00
factory_bot_spec.rb Run standardrb 2020-06-10 17:11:39 -04:00
spec_helper.rb Adjust use_parent_strategy safely in specs 2019-08-12 18:54:53 +01:00