2017-12-19 5 views
1

Spree/Solidus 레일 플랫폼에 대해 몇 가지 확장을 유지하고 있습니다. 하나의 확장 프로그램에서 특히 추적 할 수없는 Capybara 문제가 있습니다. 내가 테스트 환경을 구축하면Capybara : 첫 번째 테스트가 '서버 도달 실패, DNS 및/또는 서버 상태 확인'으로 시간 초과 됨. 다른 모든 테스트는 정상적으로 작동 함

, 사양을 통해 실행의 테스트는 항상 다음으로, 실패

Capybara::Poltergeist::StatusFailError: 
    Request to 'http://127.0.0.1:52234/products' failed to reach server, 
    check DNS and/or server status - Timed out with no open resource requests 

이후의 모든 사양을 전달합니다. bundle exec rspec spec을 다시 실행하면 일 때 모두 사양을 통과합니다.

나는 카피 바라의 시간 제한 값을 매우 높은 숫자 증가 시도 :

RSpec.configure do |config| 
    config.include Spree::TestingSupport::CapybaraHelpers, type: :feature 
    Capybara.register_driver(:poltergeist) do |app| 
    Capybara::Poltergeist::Driver.new app, timeout: 90 
    end 
    Capybara.javascript_driver = :poltergeist 
    Capybara.default_max_wait_time = 90 
end 

하지만 아무 효과가없는 것입니다.

내 모든 트래비스 빌드는 첫 번째 실행의 첫 번째 사양에서 실패하고 (모든 것을 전달합니다.) 모든 PR이 빨간색으로 보일 정도로 프로젝트를 유지하기 어렵게 만듭니다.

여기에 무슨 일이 일어날 지 모릅니다.

답변

2

Rails가 첫 번째 요청에서 자산 파이프 라인을 처리 할 때 실패 할 가능성이 높습니다. 테스트를 실행하기 전에 테스트 모드 에셋을 프리 컴파일하거나 드라이버 등록의 타임 아웃을 더 늘리십시오. Capybara.default_max_wait_time은 이것에 전혀 영향을 미치지 않습니다.

관련 문제