[rspec-users] How do I stub a view in rspec-2

David Chelimsky dchelimsky at gmail.com
Wed Jun 9 08:56:11 EDT 2010

On Sat, Jun 5, 2010 at 8:24 PM, Trey <trey at 12spokes.com> wrote:
> Hi,
> I'm in the process of upgrading an app to Rails 3/Rspec 2.  I see that
> stubbing a view helper method has changed in Rspec 2.  It looks like
> instead of doing template.stub!, we're now supposed to do view.stub!,
> but I can't seem to get this to work on beta 10.  I get an "undefined
> local variable or method `view' for
> #<RSpec::Core::ExampleGroup::Nested_1::Nested_1::Nested_1:0x106785fd0>"
> error.
> I see that in this commit (http://github.com/rspec/rspec-rails/commit/
> 0e860f580618045a34c17069b308c093e2e830cb) David removed the view
> method, but I can't figure out what it was replaced with.  Something
> in ActionView::TestCase::Behavior?
> I'm on rails 3.0.0.beta3.
> Any idea what I'm missing?

This was an omission from beta.10/11 that I just fixed last night and
will be updated in beta.12.

Short term fix (could be in spec_helper.rb)

module ViewMemoizationFix
  def _view
    @_view ||= view
  alias_method :view, :_view

RSpec.configure do |c|
  c.include ViewMemoizationFix, :example_group => { :file_path =>
/\bspec\/views\// }

Let us know if that doesn't work.


More information about the rspec-users mailing list