2017-01-28 5 views

답변

3

이 내가 일반적으로 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 

을 위해 할 것입니다 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 

+0

사실 내 spec/컨트롤러 fold에는 많은 컨트롤러가 있습니다. 각 컨트롤러를 실행하기 전에 데이터베이스를 정리하고 싶습니다. –

+1

각 테스트를 실행하기 전에 데이터베이스를 정리해야합니다. 이전에 실행 된 테스트가 현재 테스트를 위해 준비된 테스트 환경에 영향을 미치지 않도록하는 것이 필요합니다. 테스트 데이터베이스에 쓰레기가 없습니다. – VAD

0

일을해야합니다에 RSpec.configure 블록에 추가 할 것 당신은 근래에 e 각 테스트에 대해 정리 된 데이터베이스.

자세한 내용은 a related, albeit old, article by Avdi을 참조하십시오.