I need to work with fixtures and MiniTest on a Rails project and I have
some questions on best practices with using fixtures. Please bear with
me
- Should I restrict fixtures attributes only to those required in my current tests? Say, if I have no tests involving the user's role I simply don't mention the role association in the fixtures. Model scaffolds generally add all attributes to the fixtures...
- A friend of mine told me he wants to dump anonymized portion of a production database to fixtures... What's your take on this?
- What's your opinion on having fixtures' names representing their use cases rather than being very generic?
# test/fixtures/users.yml owner_on_junior_account_with_posts_limit: role: owner account_type: junior posts_limit: 1000
VS
user35: role: role1 account_type: account4 posts_limit: 1000
- Is it worth to be trying to reuse fixtures as much as possible? My considerations here are development cost and test suite performance.
- Is it worth mocking/stubbing existing fixtures (e.g. use Mocha's :any_instance) to get to a specific edge case, or it's cleaner to just create a new fixture set.
Finally, I'd love to find an open source project that uses fixtures and learn best practices from there.
Any feedback is very much appreciated. Thank you guys!