Rails 3 and Rspec 2 turn off transactional fixtures for individual tests

前端 未结 3 466
感情败类
感情败类 2021-02-05 17:53

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

相关标签:
3条回答
  • 2021-02-05 18:05
    RSpec.configure do |config|
      config.use_transactional_fixtures = true
    end
    
    0 讨论(0)
  • 2021-02-05 18:18

    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.

    0 讨论(0)
  • 2021-02-05 18:20

    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

    0 讨论(0)
提交回复
热议问题