On 20 September 2011 11:24, Daniel Abrahamsson <[email protected]> wrote:
> I have a problem with fixtures not being removed between tests and would
> like to know if this is expected behavior or not.
> For example, say that I have a model Car, and a car.yml fixtures file. I
> have two test cases CarTest and DealerTest. In the first test,
> I want to use fixtures, so I define it like this:
> class CarTest< ActiveSupport::TestCase
>   fixtures :cars
>
>   test "Car fixtures should have been loaded" do
>     assert_equal NUMBER_OF_FIXTURES, Car.count
>   end
> end
> In my second test case, DealerTest, I do not want to use the car fixtures,
> but want to create some of my own.
> class DealerTest< ActiveSupport::TestCase
>
>   test "No Cars should be in the database" do
>     assert_equal 0, Car.count
>   end
> end
> Now, if I run this test individually, it works fine. But if I run it using
> rake test:units, it fails. The car fixtures are left over from the previous
> test.
> Is this how it is supposed to work?

I think you are misinterpreting the symptom.  I *think* it is not that
the fixtures are left over from the previous test, but that when using
rake test it forces all fixtures to be reloaded for each test.  If I
am right then the question is "how to stop rake test from loading
fixtures".  I do not know the answer however.  I stopped using
fixtures some time ago, I think the consensus is that fixtures are a
Bad Thing and that factories are the way to go.  I tend to agree.

Colin

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to