RSpec 테스트 속도를 높이기 위해 Spork을 사용하고 있습니다. 불행히도 내 application_controller.rb
은 각 실행마다 다시로드되지 않으므로 수정시 Spork를 다시 시작해야합니다. 각 테스트 실행시 강제로 다시로드 할 수있는 방법이 있습니까? Spork.each_run
에 추가 라인이 필요합니다.Spork로 실행할 때마다 application_controller를 다시로드하십시오.
4
A
답변
0
ActiveSupport::Dependencies.clear
을 Spork.each_run 블록에 넣으십시오. 나는 새로운 지연이 너무 나쁘지는 않지만, 당신이 application_controller.rb를 autotesting 할 때 이것을 제거 할 것이다.
0
동일한 문제가 있었지만 Spork은 application_controller.rb를 변경하지 않고 자동으로 다시로드하도록 설계되었습니다. 그래서 나는 그것에 파고 blog post에있는 코멘트에 언급 된대로 나는 spork --diagnose
을 달렸다. 그것은 spork에 의해 처음으로로드 된 모든 파일과 각 파일이로드 된 방법에 대한 백 트레이스를 나열합니다. 이것은 내 응용 프로그램에서 ApplicationController의 하위 클래스를 참조하는 initializer가 있었기 때문에 초기에로드되는 것을 보여 줬습니다. 일단 그 종속성을 깨면 내 application_controller.rb는 Spork를 사용할 때 각 테스트 실행시 올바르게 다시 시작하기 시작했습니다.