테스트 환경에서 실행되어야하는 태스크를 실행할 때 개발 중입니다. 여기에는 rake test:(units/functionals/integration)
및 rake db:test:prepare
이 포함됩니다. 부작용은 테스트를 실행할 때마다 데이터베이스를 덮어 쓰는 것입니다. 나는 개발 데이터베이스의 이름을 바꾸 었는데, 지금은 오래된 데이터베이스 (database.yml
에있는 데이터베이스)를 찾을 수 없다는 불평을 계속합니다. 환경은 내 application.rb
상단의 require 'rails'
에서 개발로 설정됩니다. 나는 일종의 간단한 구성을 놓치고 있습니까?개발 환경에서 실행중인 모든 테스트 관련 태스크 - Rails 3
편집 : 내 테스트를 실행하면 RAILS_ENV=test
이 추가되어 테스트 환경에서 실행됩니다. 그러나 마이그레이션이 보류 중이기 때문에 실제로 실행할 수 없습니다 (모두). rake db:test:prepare RAILS_ENV=test
을 실행하면 동일한 보류 - 이전 오류가 발생합니다.
업데이트 : 데이터베이스가 마이그레이션되고 테스트가 진행됩니다. 난 아직도 RAILS_ENV=test
내 테스트마다 실행 느낌은 그것을
업데이트를 수행 할 수있는 올바른 방법이 아니다 : 나는 '시험'에 기본값으로 railties에 def env
을 변경하는 경우, 환경이 테스트 될 것을 발견했다. 당신이 카피 바라를 사용하고 카피 바라 테스트 인스턴스를 부팅하지 않고 그것을 사용합니다 서버가 개발 모드에서 실행 레일이있는 경우 즉
def env
@_env ||= ActiveSupport::StringInquirer.new(ENV["RAILS_ENV"] || ENV["RACK_ENV"] || "development")
end
그래서 간단 ... : 단위,하지만 내 test_helper의 상단에, 나는'ENV [ "RAILS_ENV"] = "테스트"','RAILS_ENV = "테스트를 시도했다 "'및''ENV ="test "'를 사용하십시오. 아무도 작동하지 않는 것 같습니다. 또한, 나는 동시에 서버를 운영하지 않는다 (나는 생각하지 않는다). 나는 '최고'를 달렸고 레일 서버처럼 보이는 것을 보지 못했습니다. 또한 링크 된 페이지에서 수정을 시도했지만 아무런 차이가 없었습니다. –