DatabaseCleaner
, FactoryGirl
및 Capybara-Webkit
을 사용하는 Rails 테스트 스위트가 있습니다. 모든 내 테스트는 스위트를 실행할 때 (병렬로 실행하는 경우 포함) 내 컴퓨터로 전달됩니다 (parallel_rspec
).FactoryGirl 및 DatabaseCleaner는 통합 및 단위 테스트를 사용하여 전체 테스트 스위트에 대한 베스트 프랙티스를 제공합니다.
CI (circleci)를 누르면 통합 테스트에 항상 실패합니다. 내 단위 테스트 (컨트롤러, 서비스, 뷰 등 ...)에서 transaction
전략을 사용하고 있기 때문에 이것이 용의주도하다. 아마도 그것은 나쁜 습관이지만 컨트롤러 (예를 들어)에서 모델을 필요로한다면 나는 FactoryGirl.create(:my_model)
을 수행하고 있습니다. 하지만 나는 FactoryGirl을 사용하여 모든 곳에서 DatabaseCleaner에서 truncation
전략을 사용해야한다는 모델을 만드는 데 의심 스럽습니다.
방금 내 전체 제품군에 truncation
을 사용하고 CI에 푸시되었습니다. 멋진 녹색이지만 이제는 실행에 50 % 더 오래 걸립니다. FactoryGirl
와 ActiveRecord
모델을 인스턴스화 할 때
그래서, 나는 항상 그 시험은 truncation
를 사용하여 표시 해야합니까?
모든 의견을 보내 주셔서 감사합니다.