By default, Ruby on Rails generates test fixture data for you when creating models. Depending on how you created your new models and their associated database schema, Rails may have automatically generated foreign key associations for you.
The test fixture will look something like this:
one:
account: one
status: 1
two:
account: two
status: 1
Most of the time, you should be able to run bin/rails test and everything should work immediately afterwards.
Sometimes, however, you may run into the following problem:
RuntimeError: Foreign key violations found in your fixture data.
Ensure you aren't referring to labels that don't exist on
associations.
When I first saw this problem, it did not immediately occur to me that the association names were the issue.
Rails conveniently allows you to create associations amongst fixture data models without having to rely on id value look ups. It does
See: <a href="https://guides.rubyonrails.org/testing.html#the-low-down-on-fixtures" target="_blank" rel"nofollow">https://guides.rubyonrails.org/testing.html#the-low-down-on-fixtures
Unfortunately, this also meant that if the fixture no longer exists with that label, Rails will throw an error if there also happens to be a foreign key associated with it.
If you see the above error, the fix is to examine your test fixture data and remove or fix any missing associations.
Next Blog Post: Fixing TailwindCSS JIT Compilation in Rails 7