MySqlを使用するRails 4.0アプリケーションでは、rspecをstrategy:transactionで設定されたdatabase_cleaner gemと一緒に使用して、テストケースごとにデータベースをクリーンアップします。ロールバックする必要があるカスタムトランザクションがある場合、機能しません。 database_cleaner宝石とちょうど標準的な方法を使用せずにカスタムトランザクションはrspecのdatabase_cleanerで動作しません
:
config.use_transactional_fixtures = true
すべてがようaspected動作します。しかし、JavaScriptを使って機能テストを実行するには、fixtureの削除戦略を切り捨てるためにdatabase_cleanerが必要です。
database_cleanerをカスタムトランザクションと一緒に使用するにはどうすればよいのですか?また、標準rspecトランザクション戦略と異なる点は何ですか?
私はあなたが知っていると確信しています:DatabaseCleaner.strategy =:deletion/DatabaseCleaner.strategy =:切り捨て、あなた自身を言及しているので。私はこれがdatabase_cleanerの:トランザクション戦略の中の問題であるかどうか、またはこれが予期せず動作するネストされたトランザクションの場合の一般的な問題であるかどうかには依然として関心があります。 –