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工作过。 –