Hi, I have to test one of my models, but it uses a seed database.
How do I delete everything on my database and create it again from seed
(default code for some examples) for every one of my unit tests?
Right now, when I run rake db:test:units (and if I put something on my
code
like User.all.count) it says that there 2 users at the database (but
with
nil paramters except id). If I do a setup code to create the new
instances
at the database (as I want), it creates them, but there are still those
2
trash users there which makes my model not to work.
Hi, I have to test one of my models, but it uses a seed database.
How do I delete everything on my database and create it again from seed
(default code for some examples) for every one of my unit tests?
I think most nowadays think that factories are the best way of
testing, using something like factory_girl. I think the
free-to-use-online tutorial railstutorial.org uses factories for
testing. That is a good tutorial anyway and well worth working
through.
If you don’t want to use factories you should use fixtures for
populating the test database. I think the Rails Guide on testing
covers this. Then rails will automatically reset the test database
for each test. I would expect any good tutorial on rails to either
use factories or fixtures.