내 Ruby 버전은 1.9.3p385입니다. 내 Rails 버전은 3.2.12입니다."rake test"가 "rake db : seed"데이터를 삭제하지 못하게하는 방법은 무엇입니까?
나는 테스트 데이터베이스를로드하려면 다음을 사용 :
rake db:seed RAILS_ENV=test
모든 것이 잘 작동합니다. 모든 공장 소녀 물건은 멋지게로드됩니다.
test/factories.rb에는 공장이 들어 있습니다. DB/seeds.rb의 내용은 간단하다 :
FactoryGirl.create(:music_categorization)
FactoryGirl.create(:dance_categorization)
지금, 나는 다음과 같은 명령을 사용하여 테스트를 실행하면
이rake test
레일 삭제 모든 씨앗 데이터와 테스트가 실패합니다. 나는 "rake test"가 데이터를 삭제하는 것을 막을 방법을 원합니다.
다른 경로는이 question에서 언급 한 "rake test"명령의 일부로 시드 데이터를로드하는 것입니다. 그러나, 그 일을 끝내는 것은 테스트 데이터를 두 번로드하는 것입니다 (기본적으로 db/seeds.rb는 어떤 이유로 2 번 호출됩니다). 나는 그 경로를 포기하고 이제는 다음을 수행하여 테스트를 실행하려고합니다.
rake db:seed RAILS_ENV=test
rake test
도움이 되었습니까? 기본적으로 레이크 테스트가 내 데이터를 삭제하거나 db/seeds.rb가 두 번 호출되지 않도록하는 방법을 찾아야합니다.
감사합니다. 나는 이것을 해결책으로 받아 들였다. 당신과 @boulder는 같은 개념을 지적했다. 나는 database_cleaner를 지적하면서 해결책을 제시했으며, rspec의 완전한 예제를 제공했다. 고맙습니다! – Nightwolf