なぜDatabaseCleanerがテストデータベースをクリーニングしていないのかわかりません。ので、私はRSpec +データベースクリーナー、正しくクリーニングされていません
DatabaseCleaner[:active_record, :connection => :test].clean
# => nil
ようなソリューションを得た:
=> [#<DatabaseCleaner::Base:0x007fa7e4dd8b58 @autodetected=true, @orm=:active_record, @strategy=#<DatabaseCleaner::ActiveRecord::Transaction:0x007fa7e4dc14f8 @db=:default>>]
これは正しく(テストすることになって)データベースを設定していないようです - これは私が
1.9.2p290 :007 > DatabaseCleaner.clean
を促し得るものです
宝石は正しく設定されているようです:
1.9.2p290 :007 > DatabaseCleaner[:active_record, :connection => :test]
#<DatabaseCleaner::Base:0x007fe8fcfd4868 @orm=:active_record, @strategy=#<DatabaseCleaner::ActiveRecord::Transaction:0x007fe8fcfd2748 @db=:test, @connection_hash={"adapter"=>"sqlite3", "database"=>"db/test.sqlite3", "pool"=>5, "timeout"=>5000}>, @db=:test>
これはテストデータベースを正しくセットアップしたようですが、まだデータベースを適切にクリーンアップしません。助言がありますか?
ありがとうございました。
は正しい環境でコンソールですか? (例えば、レールコンソールテスト)私はDatabaseCleanerが呼び出された環境をきれいにすることを期待しています。 –
もちろんです。 _rails c test_でオープンしました。 –
DatabaseCleaner [:active_record、:connection =>:test] .clean'は、nilを返します。 –