テストに rspec を使用していますが、テストを実行した後、テスト データベースにいくつかのレコードが残ることがあります。理由はわかりません。構成ファイルで use_transactional_fixtures を true に設定しています。しかし、レコードを手動で削除するまで、それらは消えません。誰にもこれを止める方法はありますか?
編集; テストが失敗したときだけだと言う前に。それはもはや真実ではありません。
テストに rspec を使用していますが、テストを実行した後、テスト データベースにいくつかのレコードが残ることがあります。理由はわかりません。構成ファイルで use_transactional_fixtures を true に設定しています。しかし、レコードを手動で削除するまで、それらは消えません。誰にもこれを止める方法はありますか?
編集; テストが失敗したときだけだと言う前に。それはもはや真実ではありません。
問題が見つかりました。Before(:all) ブロックはトランザクション対応ではありません
database_cleaner gem を試してください。
切り捨てまたはトランザクション戦略が機能します。
注意:テスト スイートの実行が非常に遅くなる可能性があります。
通常、 RSpec での適切な使用before
(after
使用している場合) は、通常は正常に機能します。