Naprawdę nie mogę zrozumieć, dlaczego DatabaseCleaner nie czyści mojej testowej bazy danych. Jest to, co otrzymuję monitowaniaOczyszczanie bazy danych RSpec +, niepoprawne czyszczenie
1.9.2p290 :007 > DatabaseCleaner.clean
-
=> [#<DatabaseCleaner::Base:0x007fa7e4dd8b58 @autodetected=true, @orm=:active_record, @strategy=#<DatabaseCleaner::ActiveRecord::Transaction:0x007fa7e4dc14f8 @db=:default>>]
ten nie wydaje się, aby poprawnie ustawić bazę danych (miało być: test), więc mam rozwiązanie jak
DatabaseCleaner[:active_record, :connection => :test].clean
# => nil
Klej wydaje się poprawnie skonfigurowany:
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>
Wygląda na to, że poprawnie skonfigurowano testową bazę danych, jednak nadal nie będzie ona poprawnie czyścić bazy danych. Jakieś sugestie?
Dziękuję bardzo.
Czy konsola w takim otoczeniu? (np. test konsoli szyny) Spodziewam się, że DatabaseCleaner oczyści środowisko, do którego jest wywołane. –
oczywiście. otwarty z _rails c test_. –
z pytaniem 'DatabaseCleaner [: active_record,: connection =>: test] .clean', zwraca zero. –