テストを書いていると、マルチスレッドでデータベースを参照したくなることがあります。 たとえば Capybaraなどによるヘッドレステストを行いたい データベースのロック確認 複数スレッドでの同時アクセス時の動作 などです。 課題 しかしながら、通常、テスト中のデータベース操作はトランザクション内で行われ、コミットされません。 このため、メインスレッドで行ったデータベース操作は、他のスレッドでは参照できず、テストに失敗します。 こんなときは、 # config.use_transactional_fixtures = true config.use_transactional_fixtures = false としてた上でconfig.after(:each)(あるいはDatabaseCleanerで)データベースを空にするのが定番のやりかたです。 フィクスチャ制御にトランザクションを使わな