I am in the process of upgrading my application to Rails 3. I started using Rspec 2 with Rails 3. I need to turn off transactional fixtures for some of my rspec tests. Prior
RSpec.configure do |config|
config.use_transactional_fixtures = true
end
I'm looking for the answer to this question, came across this blog entry
It suggests to declare inside the describe block
describe "xxx" do
self.use_transactional_fixtures = false
...
I tried it with Rails 3.0.7 with RSpec 2.6.3, and looks like working.
You can disable transactional fixtures globally by putting config.use_transactional_fixtures = false
on the spec_helper.rb. If you want to control them by test (e.g. use transactional just on some of them), you can set this behavior with DatabaseCleaner.
I've had a related problem when testing pages with javascript on the browser (a scenario that does not work with transactional fixtures). Here's how I managed to work around it: http://github.com/lailsonbm/contact_manager_app