After upgrading to Rails 6.1, a test helper spec on RSpec 3.11.0 seems to be broken:
# helpers/my_helper.rb
module MyHelper
def foobar
controller.controller_name.to_sym
end
end
My test looks like this
# spec/helpers/my_helper_spec.rb
describe MyHelper do
it "foo" do
expect(foobar).to eq(:test)
end
end
and throws this error
1) MyHelper foo
Failure/Error: controller.controller_name.to_sym
NoMethodError:
undefined method `to_sym' for nil:NilClass
# ./app/helpers/my_helper.rb:5:in `foobar'
Before the upgrade on Rails 6.0, controller.controller_name was just set to "test", but now it's nil.
Do I have to set a controller name now explicitly?