Guard with RSpec on Rails 4 giving a lot of warnings

12,393

Solution 1

The rspec generator rails generate rspec:install now puts the --warnings option in the .rspec file by default. Remove that line, and the warnings will go away.

Solution 2

You can set the warnings to false in the your test environment to force Rspec to disable the warnings messages.

# spec/spec_helper.rb

config.warnings = false

Share:
12,393
foobar
Author by

foobar

Updated on June 17, 2022

Comments

  • foobar
    foobar almost 2 years

    I'm wondering how I can turn off all these warnings when running a simple test:

    [1] guard(main)> 
    16:59:46 - INFO - Run all
    16:59:46 - INFO - Running all specs
    /Users/esjd/.rvm/gems/ruby-2.1.2/gems/rspec-rails-3.0.1/lib/rspec/rails/adapters.rb:124: warning: instance variable @example not initialized
    /Users/esjd/.rvm/gems/ruby-2.1.2/gems/rspec-rails-3.0.1/lib/rspec/rails/adapters.rb:124: warning: instance variable @example not initialized
    .*
    
    Pending:
      HomeHelper add some examples to (or delete) /Users/esjd/ruby/rails/ts3/spec/helpers/home_helper_spec.rb
        # Not yet implemented
        # ./spec/helpers/home_helper_spec.rb:14
    
    Finished in 0.03601 seconds (files took 7 minutes 48 seconds to load)
    2 examples, 0 failures, 1 pending
    /Users/esjd/.rvm/gems/ruby-2.1.2/gems/celluloid-0.15.2/lib/celluloid/tasks.rb:76: warning: global variable `$CELLULOID_DEBUG' not initialized
    /Users/esjd/.rvm/gems/ruby-2.1.2/gems/celluloid-0.15.2/lib/celluloid/tasks.rb:76: warning: global variable `$CELLULOID_DEBUG' not initialized
    
    /Users/esjd/.rvm/gems/ruby-2.1.2/gems/guard-2.6.1/lib/guard/interactor.rb:64: warning: instance variable @enabled not initialized
    /Users/esjd/.rvm/gems/ruby-2.1.2/gems/guard-2.6.1/lib/guard/interactor.rb:64: warning: instance variable @enabled not initialized
    /Users/esjd/.rvm/gems/ruby-2.1.2/gems/guard-2.6.1/lib/guard/interactor.rb:64: warning: instance variable @enabled not initialized
    /Users/esjd/.rvm/gems/ruby-2.1.2/gems/guard-2.6.1/lib/guard/interactor.rb:64: warning: instance variable @enabled not initialized
    /Users/esjd/.rvm/gems/ruby-2.1.2/gems/celluloid-0.15.2/lib/celluloid/tasks.rb:76: warning: global variable `$CELLULOID_DEBUG' not initialized
    /Users/esjd/.rvm/gems/ruby-2.1.2/gems/celluloid-0.15.2/lib/celluloid/tasks.rb:76: warning: global variable `$CELLULOID_DEBUG' not initialized
    

    I'm running Rails 4.1.1, Ruby 2.1.2p95, and...

    guard (2.6.1)
    rspec (3.0.0)
    guard-rspec (4.2.9)
    

    I've tried running guard with:

    guard :rspec, cmd:"ruby -W0 bin/rspec" do
    

    instead of:

    guard :rspec, cmd:"spring rspec" do
    

    But it didn't do anything.

    These warnings are super annoying, and I'm pretty sure I'm not causing them. Help!