각 사양 파일을 실행하기 전에 테스트 데이터베이스를 지우고 싶습니다.각 사양 파일을 실행하기 전에 데이터베이스를 정리하는 방법은 무엇입니까?
저는 이미 공장 소녀와 rspec을 사용하고 있습니다.
덕분에, 토끼
각 사양 파일을 실행하기 전에 테스트 데이터베이스를 지우고 싶습니다.각 사양 파일을 실행하기 전에 데이터베이스를 정리하는 방법은 무엇입니까?
저는 이미 공장 소녀와 rspec을 사용하고 있습니다.
덕분에, 토끼
이 내가 일반적으로 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
사실 내 spec/컨트롤러 fold에는 많은 컨트롤러가 있습니다. 각 컨트롤러를 실행하기 전에 데이터베이스를 정리하고 싶습니다. –
각 테스트를 실행하기 전에 데이터베이스를 정리해야합니다. 이전에 실행 된 테스트가 현재 테스트를 위해 준비된 테스트 환경에 영향을 미치지 않도록하는 것이 필요합니다. 테스트 데이터베이스에 쓰레기가 없습니다. – VAD
일을해야합니다에 RSpec.configure
블록에 추가 할 것 당신은 근래에 e 각 테스트에 대해 정리 된 데이터베이스.
자세한 내용은 a related, albeit old, article by Avdi을 참조하십시오.
당신은'database_cleaner' 보석을 사용하고 있습니까? – Pavan
예, 사용하고 있습니다. 그러나 각 파일을 작성하는 방법을 모릅니다. –