1

我無法在rails測試環境中的JavaScript中加載瀏覽器。這對通過水豚的黃瓜硒測試是有問題的。這裏是我的test.rb(如將據我所知默認)JavaScript未載入Rails測試環境

MyApp::Application.configure do 
    # Settings specified here will take precedence over those in config/application.rb 

    # The test environment is used exclusively to run your application's 
    # test suite. You never need to work with it otherwise. Remember that 
    # your test database is "scratch space" for the test suite and is wiped 
    # and recreated between test runs. Don't rely on the data there! 
    config.cache_classes = true 

    # Configure static asset server for tests with Cache-Control for performance 
    config.serve_static_assets = true 
    config.static_cache_control = "public, max-age=3600" 

    # Log error messages when you accidentally call methods on nil 
    config.whiny_nils = true 

    # Show full error reports and disable caching 
    config.consider_all_requests_local  = true 
    config.action_controller.perform_caching = false 

    # Raise exceptions instead of rendering exception templates 
    config.action_dispatch.show_exceptions = false 

    # Disable request forgery protection in test environment 
    config.action_controller.allow_forgery_protection = false 

    # Tell Action Mailer not to deliver emails to the real world. 
    # The :test delivery method accumulates sent emails in the 
    # ActionMailer::Base.deliveries array. 
    config.action_mailer.delivery_method = :test 

    # Raise exception on mass assignment protection for Active Record models 
    config.active_record.mass_assignment_sanitizer = :strict 

    # Print deprecation notices to the stderr 
    config.active_support.deprecation = :stderr 
end 

這導致與一切串連的application.js。我試過添加config.assets.debug = true,以便資產不是concatinated,然後只有有時 JavaScript被加載。如果我複製development.rb它似乎工作,但這似乎並不理想。

謝謝!

回答

1

原來這是less-rails-bootstrap版本3.0.1由於相互依賴關係,gem以錯誤的順序加載twitter/bootstrap。我們從未注意到這是在開發中,因爲默認情況下,Rails不會在開發環境中壓縮資產。所以這些特定的文件沒有被加載,但他們並沒有像我們測試的那樣保持我們所有的javascript加載。

升級到less-rails-bootstrap 3.0.3,或需要的Twitter /引導的單個組件中的application.js正確的順序解決了這個問題。

+0

怎麼是你能看到寶石的加載順序和實際調試這個問題?通過現在類似的東西(一堆相互依存關係搞亂了的東西。)去會知道你的最佳做法,有用和調試論文 –

+0

@ Borat.sagdiyev我真的不記得了,不好意思。幾年後我還沒有在Rails工作過。 –