I start with a test database containing the schema but with no data in the tables. I run a test like so
cd test/
ruby unit/directive_test.rb
I get failures indicating that the code found no data in the data tables. However, I look at the tables after running that test and the data is now in the the table. In fact, if I immediately run the test again I get no failures.
So it appears that the fixture is being loaded into the table too late for one of my modules to find it.
- When are the fixtures loaded? After or before the
app/model/*.rb
files are executed? - If it is after the models are executed is there a way to delay the loading?
This issue is also relevant when running rake test:units
since that task clears the test data after it finished.