On Feb 13, 2012, at 10:35 PM, David Chelimsky wrote: > On Mon, Feb 13, 2012 at 9:04 PM, Justin Ko <jko...@gmail.com> wrote: >> >> On Feb 13, 2012, at 1:16 PM, Patrick J. Collins wrote: >> >>> Hi, >>> >>> I was writing an integration test for my user signup form (with >>> capybara), and found that my test was failing due to a validation error: >>> "email is already taken". I'm a bit confused because I thought when I >>> run "rspec spec/some_spec.rb", the test database would be wiped clear? >>> >>> Is that not the case? >>> >>> Patrick J. Collins >>> http://collinatorstudios.com >>> >>> _______________________________________________ >>> rspec-users mailing list >>> rspec-users@rubyforge.org >>> http://rubyforge.org/mailman/listinfo/rspec-users >> >> You basically have two options to ensure a clean database: >> >> 1.) Transactional examples: >> >> RSpec.configuration.use_transactional_examples = true >> >> 2.) DatabaseCleaner: >> >> RSpec.configure do |config| >> config.before { DatabaseCleaner.start } >> config.after { DatabaseCleaner.clean } >> end >> >> Look into what those do. Let us know if you get stuck. > > What Justin says is true if you're running in the same process. If > you're using Capybara to run examples in-bro.wser, then option 2 will > work for you, but option 1 will not.
You can still do this with an AR patch. Look at the "Transactions and database setup" in the Capybara README. Using DatabaseCleaner with truncation is SLOW. > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users