공유 예제를 변경하면 spork에서 다시로드하도록하려면 어떻게합니까? 나는 다음을 시도하지만, 그들을 다시로드 아니에요 :Reload RSpec Guard 및 Spork와 공유 예제
Spork.each_run do
Dir[Rails.root.join("spec/shared_examples/*.rb")].each {|f| require f}
end
내가 공유 예 변경하는 경우는 ENV를 다시로드가 내 Guardfile에 감시자를 추가 할 수 있지만 내 응용 프로그램이 큰 것을 알 수는 약 10 소요 전체 환경을 다시로드하는 데 -15 초가 걸립니다.
watch(/^spec\/shared_examples\/.*\.rb$/)
변경된 공유 예제를 다시로드하는 것이 좋지만, 피드백 루프가 더 빨라질 수 있습니다. 환경 설정 파일 test.rb
에서
, 당신은 당신이 캐싱을하지 않을 수 있습니다 즉,이
config.cache_classes = !(ENV['DRB'] == 'true')
이 있는지 확인 : 여기
당신은 어떻게'prefork' 블록에 공유 예제를로드하지 ** 않습니까? 'Dir [Rails.root.join ("spec/support/**/*. rb")]. 각 {| f | 우리의'prefork' 블록에서 f}'가 필요합니다. 모든 블록은 공유 된 예제를 포함하여 확실히로드됩니다. ** 공유 된 예제가'prefork' 블록에로드되는 것을 어떻게 방지합니까 **? –
아, 저기요 : 우리는'spec/support/shared_examples'에 공유 예제를 가지고 있었고, 당신은'spec/shared_examples'에 그것을 가지고 있습니다. 그것들을'spec/shared_examples'로 옮기면됩니다 만, 공유 예제가 어디에 속합니까? 'support' 폴더에서 그들을 옮기고 싶지 않다면 어떻게'prefork' 블록에로드되지 않게 할 수 있습니까? –
그래서'prefork'에서이 코드를 사용하면 공유 예제가로드되지 않습니다 :'Dir [Rails.root.join ("spec/support/**/*. rb")]. reject {| f | f [% r {/ shared_examples /}]}. 각 {| f | f}'이 (가) 필요합니다. –