同じテストは、何回実施しても、同じ結果になって欲しいのですが、2回目以降のテストは、データベースに前のテストのデータが残ってエラーとなってしまいました。
そこで、検索して解決策を探したら、解決策が記載されているページを発見しました。
原因は、 capybara経由でnewしたものと、FactoryGirlでnewしたものが、連携をとれてないので、不整合が起こっていたのでした。
解決策は、
database_cleanerというgemを導入する事でした。
database_cleanerの設定も含め、以下の記述をspec_helper.rbに追加して解決しました。
解決策は、
RSpec.configure do |config|として、
config.use_transactional_fixtures = false
end
database_cleanerというgemを導入する事でした。
database_cleanerの設定も含め、以下の記述をspec_helper.rbに追加して解決しました。
RSpec.configure do |config|
config.use_transactional_fixtures = false
config.before(:suite) do
DatabaseCleaner.strategy = :truncation
end
config.before(:each) do
DatabaseCleaner.start
end
config.after(:each) do
DatabaseCleaner.clean
end
end