RailsアプリケーションでのRSpecまたはCucumberテストの一部として、モデルを作成してテストデータベースに保存した場合、レコードはどのくらいの期間そこに残りますか?
レコードはすべてのテストサイクルの最後(または最初?)にクリアされると確信しています。これは、テストスイートの連続実行に干渉しないように見えるためですが、レコードは異なるキュウリの機能とシナリオの間で保持されますか?または異なるRSpecテスト間?
RailsアプリケーションでのRSpecまたはCucumberテストの一部として、モデルを作成してテストデータベースに保存した場合、レコードはどのくらいの期間そこに残りますか?
レコードはすべてのテストサイクルの最後(または最初?)にクリアされると確信しています。これは、テストスイートの連続実行に干渉しないように見えるためですが、レコードは異なるキュウリの機能とシナリオの間で保持されますか?または異なるRSpecテスト間?
トランザクションを使用している場合、変更は各例の後にロールバックされます。
トランザクションを使用していない場合、他の手法を使用してトランザクションをクリアしない限り、変更は保持されます。これは、リクエスト仕様の一般的なケースです。したがって、テストデータベースをクリアするには、database_cleanerや手動メソッドなどが必要です。
RSpecのデフォルトのspec_helperファイルには次の行が含まれています。
config.use_transactional_fixtures = true
これは、トランザクションが使用されることを意味します。