RSPECでテストをしようとしたらエラーが出ました(☝ ՞ਊ ՞)
active_recordが存在しないエラーが発生
rspecを実行します。sporkを使っているのでdrbオプションをつけています。
bundle exec rspec --drb spec/requests/
Failure/Error: Unable to find matching line from backtrace
ActiveRecord::StatementInvalid:
Mysql2::Error: SAVEPOINT active_record_1 does not exist: ROLLBACK TO SAVEPOINT active_record_1
よくわからないエラーがでました:(;゙゚’ω゚’):
transaction_fixturesを変更する
spec_helperのtransaction_fixturesをtrueからfalseに変更します。
vi spec/spec_helper.rb
config.use_transactional_fixtures = false
config.use_transactional_fixtures = false
# DatabaseCleaner
config.before(:suite) do
DatabaseCleaner.strategy = :transaction
end
ついでにDatabaseCleanerの設定に:transactionを指定しました。
動作確認
動作テストをしました。
bundle exec rspec --drb spec/requests/
………
Finished in 2.09 seconds
9 examples, 0 failures
Randomized with seed 58262
動いたヤッタネ(☝ ՞ਊ ՞)
参考:https://relishapp.com/rspec/rspec-rails/docs/transactions