Skip to content

Instantly share code, notes, and snippets.

@NickClark
Created December 2, 2010 22:54
Show Gist options
  • Save NickClark/726263 to your computer and use it in GitHub Desktop.
Save NickClark/726263 to your computer and use it in GitHub Desktop.
Double Load
puts caller
puts 'Included file'
shared_examples_for 'All Admin Controllers' do
...
end
For some reason RSpec is double loading a file. I have debugged it
by putting the caller and found that the second attempt to load the
file (which has a shared example) is using 'load', not require.
I have attached an example file with the errors and debug output
# I get the following error:
/Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/rspec-core-2.2.1/lib/rspec/core/shared_example_group.rb:44:in `ensure_shared_example_group_name_not_taken': Shared example group 'All Admin Controllers' already exists (ArgumentError)
from /Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/rspec-core-2.2.1/lib/rspec/core/shared_example_group.rb:6:in `share_examples_for'
from /Users/user/code/app/spec/controllers/shared/admin_controller_spec.rb:10:in `<top (required)>'
from /Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/activesupport-3.0.3/lib/active_support/dependencies.rb:235:in `load'
from /Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/activesupport-3.0.3/lib/active_support/dependencies.rb:235:in `block in load'
from /Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/activesupport-3.0.3/lib/active_support/dependencies.rb:227:in `load_dependency'
from /Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/activesupport-3.0.3/lib/active_support/dependencies.rb:235:in `load'
from /Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/rspec-core-2.2.1/lib/rspec/core/configuration.rb:327:in `block in load_spec_files'
from /Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/rspec-core-2.2.1/lib/rspec/core/configuration.rb:327:in `map'
from /Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/rspec-core-2.2.1/lib/rspec/core/configuration.rb:327:in `load_spec_files'
from /Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/rspec-core-2.2.1/lib/rspec/core/command_line.rb:18:in `run'
from /Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/rspec-core-2.2.1/lib/rspec/core/runner.rb:55:in `run_in_process'
from /Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/rspec-core-2.2.1/lib/rspec/core/runner.rb:46:in `run'
from /Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/rspec-core-2.2.1/lib/rspec/core/runner.rb:10:in `block in autorun'
#With my debugging puts shown above, I can see once it is loaded with require, the next is using load. WHY?
/Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/activesupport-3.0.3/lib/active_support/dependencies.rb:239:in `require'
/Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/activesupport-3.0.3/lib/active_support/dependencies.rb:239:in `block in require'
/Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/activesupport-3.0.3/lib/active_support/dependencies.rb:227:in `load_dependency'
/Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/activesupport-3.0.3/lib/active_support/dependencies.rb:239:in `require'
/Users/user/code/app/spec/controllers/admin/admin_controller_spec.rb:2:in `<top (required)>'
/Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/rspec-core-2.2.1/lib/rspec/core/configuration.rb:327:in `load'
/Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/rspec-core-2.2.1/lib/rspec/core/configuration.rb:327:in `block in load_spec_files'
/Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/rspec-core-2.2.1/lib/rspec/core/configuration.rb:327:in `map'
/Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/rspec-core-2.2.1/lib/rspec/core/configuration.rb:327:in `load_spec_files'
/Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/rspec-core-2.2.1/lib/rspec/core/command_line.rb:18:in `run'
/Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/rspec-core-2.2.1/lib/rspec/core/runner.rb:55:in `run_in_process'
/Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/rspec-core-2.2.1/lib/rspec/core/runner.rb:46:in `run'
/Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/rspec-core-2.2.1/lib/rspec/core/runner.rb:10:in `block in autorun'
Included file
/Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/activesupport-3.0.3/lib/active_support/dependencies.rb:235:in `load'
/Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/activesupport-3.0.3/lib/active_support/dependencies.rb:235:in `block in load'
/Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/activesupport-3.0.3/lib/active_support/dependencies.rb:227:in `load_dependency'
/Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/activesupport-3.0.3/lib/active_support/dependencies.rb:235:in `load'
/Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/rspec-core-2.2.1/lib/rspec/core/configuration.rb:327:in `block in load_spec_files'
/Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/rspec-core-2.2.1/lib/rspec/core/configuration.rb:327:in `map'
/Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/rspec-core-2.2.1/lib/rspec/core/configuration.rb:327:in `load_spec_files'
/Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/rspec-core-2.2.1/lib/rspec/core/command_line.rb:18:in `run'
/Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/rspec-core-2.2.1/lib/rspec/core/runner.rb:55:in `run_in_process'
/Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/rspec-core-2.2.1/lib/rspec/core/runner.rb:46:in `run'
/Users/user/.rvm/gems/ruby-1.9.2-p0@gemset/gems/rspec-core-2.2.1/lib/rspec/core/runner.rb:10:in `block in autorun'
Included file
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment