2017-01-28 3 views

Antwort

3

-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

+0

Eigentlich in meiner Spezifikation/Controller Falte hat viele Controller, ich möchte meine Datenbank vor jedem Controller zu reinigen. –

+1

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

0

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.

Verwandte Themen