rspec helper.stub не работает - PullRequest
       2

rspec helper.stub не работает

3 голосов
/ 07 декабря 2011

Я разрабатываю Rails 3.1.1, Ruby 1.9.2 и тестирую с помощью Rspec2.
Работа с заглушками в помощнике не работает.

users_helper_spec.rb

require 'spec_helper'

describe UsersHelper do
  describe 'test' do
    before do
      helper.stub(:val).and_return('this is test')  
    end

    it 'returns val' do
      test.should eql 'this is test'
    end
  end
end  

user_helper.rb

module UsersHelper
  def test
    return val
  end
end  

ошибка

1) UsersHelper test test
   Failure/Error: test.should eql 'this is test'
   NameError:
     undefined local variable or method `val' for #<RSpec::Core::ExampleGroup::Nested_15::Nested_1:0x007f9ad5f42a50>
   # ./app/helpers/users_helper.rb:3:in `test'
   # ./spec/helpers/users_helper_spec.rb:10:in `block (3 levels) in <top (required)>'

Заглушка в контроллере и просмотр работает правильно, но впомощник не работает.
Есть идеи?
Заранее спасибо.

1 Ответ

4 голосов
/ 09 декабря 2011

Я решил.

require 'spec_helper'

describe UsersHelper do
  describe 'test' do
    before do
      helper.stub(:val).and_return('this is test')  
    end

    it 'returns val' do
      helper.test.should eql 'this is test'
      # helper. is required.
    end
  end
end

helper.test работает отлично.

# 199: Не удается заглушить вызовы методов в помощниках - Проблемы - rspec / rspec-rails - GitHub

...