Closed
Description
Loading fixture in a before :context
raise an exception:
NoMethodError:
undefined method `[]' for nil:NilClass
# /home/mdesantis/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/activerecord-4.1.6/lib/active_record/fixtures.rb:897:in `block (3 levels) in setup_fixture_accessors'
I created a Rails app in order to reproduce it: https://github.com/mdesantis/rspec-rails-issue-1201.
Environment: Ruby 2.1.3, Rails 4.1.6, rspec-rails 3.1.0
Failing test: (spec/models/widget_spec.rb
):
require 'rails_helper'
RSpec.describe Widget, type: :model do
fixtures :widgets
describe 'fixture loaded in a before context' do
before :context do
widgets :a
end
it 'works' do
end
end
end
This is the specs run output:
$ rspec -b
F
Failures:
1) Widget fixture loaded in a before context works
Failure/Error: widgets :a
NoMethodError:
undefined method `[]' for nil:NilClass
# /home/mdesantis/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/activerecord-4.1.6/lib/active_record/fixtures.rb:897:in `block (3 levels) in setup_fixture_accessors'
# ./spec/models/widget_spec.rb:8:in `block (3 levels) in <top (required)>'
# /home/mdesantis/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/hooks.rb:350:in `instance_exec'
# /home/mdesantis/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/hooks.rb:350:in `run'
# /home/mdesantis/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/hooks.rb:459:in `run'
# /home/mdesantis/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/hooks.rb:500:in `run'
# /home/mdesantis/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:426:in `block in run_before_context_hooks'
# /home/mdesantis/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/memoized_helpers.rb:141:in `block in isolate_for_context_hook'
# /home/mdesantis/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/memoized_helpers.rb:137:in `instance_exec'
# /home/mdesantis/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/memoized_helpers.rb:137:in `isolate_for_context_hook'
# /home/mdesantis/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:425:in `run_before_context_hooks'
# /home/mdesantis/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:452:in `run'
# /home/mdesantis/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:454:in `block in run'
# /home/mdesantis/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:454:in `map'
# /home/mdesantis/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:454:in `run'
# /home/mdesantis/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:111:in `block (2 levels) in run_specs'
# /home/mdesantis/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:111:in `map'
# /home/mdesantis/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:111:in `block in run_specs'
# /home/mdesantis/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/reporter.rb:53:in `report'
# /home/mdesantis/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:107:in `run_specs'
# /home/mdesantis/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:85:in `run'
# /home/mdesantis/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:69:in `run'
# /home/mdesantis/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:37:in `invoke'
# /home/mdesantis/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/exe/rspec:4:in `<top (required)>'
# /home/mdesantis/.rbenv/versions/2.1.3/bin/rspec:23:in `load'
# /home/mdesantis/.rbenv/versions/2.1.3/bin/rspec:23:in `<main>'
# /home/mdesantis/.rbenv/versions/2.1.3/bin/ruby_executable_hooks:15:in `eval'
# /home/mdesantis/.rbenv/versions/2.1.3/bin/ruby_executable_hooks:15:in `<main>'
Finished in 0.0012 seconds (files took 3.14 seconds to load)
1 example, 1 failure
Failed examples:
rspec ./spec/models/widget_spec.rb:11 # Widget fixture loaded in a before context works
Metadata
Metadata
Assignees
Labels
No labels