필자는 Rails 4를 사용 중이며 일부 테스트 리팩터링이 필터 (예 : 트랜잭션 때문에)를 사용하기 때문에 일부 RSpec 테스트가 실패한 것으로 나타났습니다. DatabaseCleaner 보석을 사용하는 대신에레일 4 : 테스트 데이터베이스를 재설정하는 방법?
rails test database not clearing after some runs
, 테스트 데이터베이스를 삭제하는 레이크 명령이 :이 포스팅은 유사한 문제에 대해 설명? 나는 rake db:test:prepare
이 경우
post :create, user: Fabricate.attributes_for(:user)
가 지속적처럼 거래하기 전에, 또한 레일 4에서 사용되지 않습니다 생각합니다. 수동으로 테스트 데이터베이스를 지울 필요가 없도록 리팩터링하는 다른 방법이 있습니까?
처음 3 개의 rake db : *는 모든 테이블을 삭제하고 스키마에서 생성하므로 마지막 테이블로만 바꿀 수 있습니다. – konole
'schema : load' 단계 전에'bundle exec rake db : RAILS_ENV = test'를 작성하지 않았습니다. – Aleks
레일즈 5의 경우'ActiveRecord :: Base' 대신'ApplicationRecord'를 사용하십시오 https://blog.bigbinary.com/2015 /12/28/application-record-in-rails-5.html –