Ich möchte meine Testdatenbank löschen, bevor Sie die einzelnen Spezifikationsdateien ausführen.Wie wird die Datenbank vor dem Ausführen der einzelnen Spezifikationsdateien bereinigt?
Ich verwende bereits rspec mit Fabrik Mädchen.
Danke, Hare
Ich möchte meine Testdatenbank löschen, bevor Sie die einzelnen Spezifikationsdateien ausführen.Wie wird die Datenbank vor dem Ausführen der einzelnen Spezifikationsdateien bereinigt?
Ich verwende bereits rspec mit Fabrik Mädchen.
Danke, Hare
-RSpec.configure
Block Fügen Sie in Ihrem spec_helper.rb
config.before(:suite) do
DatabaseCleaner.clean_with :truncation
end
config.before(:each) do
DatabaseCleaner.strategy = :transaction
end
config.before(:each) do
DatabaseCleaner.start
end
config.after(:each) do
DatabaseCleaner.clean
end
Arbeit muss
Eigentlich in meiner Spezifikation/Controller Falte hat viele Controller, ich möchte meine Datenbank vor jedem Controller zu reinigen. –
Man sollte ihre Datenbank vor jedem Test reinigen. Es ist notwendig sicherzustellen, dass der zuvor durchgeführte Test die Testumgebung, die für den aktuellen Test vorbereitet wurde, nicht beeinträchtigt, z. Es gab keinen Müll in Ihrer Testdatenbank. – VAD
Dies ist, was typisch für ich DatabaseCleaner
# Database Cleaner
config.before(:suite) do
DatabaseCleaner.strategy = :transaction
DatabaseCleaner.clean_with(:truncation)
end
config.before(:each) do
DatabaseCleaner.start
end
config.after(:each) do
DatabaseCleaner.clean
end
Das macht sicher hast du e eine saubere Datenbank für jeden Test.
Zur Kasse a related, albeit old, article by Avdi für weitere Informationen.
Verwenden Sie 'database_cleaner' gem? – Pavan
Ja, ich benutze es. Aber nicht sicher, wie man für jede Datei schreibt. –