NoMethodError: неопределенный метод `заглушка! 'для ноля: NilClass - PullRequest
0 голосов
/ 22 мая 2018

Я пытаюсь поместить rspec для условия активной ссылки, присутствующего в application_helper.rb.Код Application_helper.rb:

def active_class(link_path)
    current_page?(link_path) ? 'active' : ''
  end

Я попытался указать rspec для этого метода active_class, для этого я использовал заглушку. Это мой код rspec для метода active_class.Application_helper_spec.rb code:

describe 'when called from "index" action' do
  before
    helper.stub!(:action_name).and_return('index')
  end
  it 'should do' do
    helper.active_class.should == 'active'
  end


describe 'when called from "other" action' do
  before
    helper.stub!(:action_name).and_return('other')
  end
  it 'should do' do
    helper.active_class.should == 'empty'
  end

Я получаю сообщение об ошибке как неопределенная заглушка метода. Как я могу преодолеть эту проблему?

1 Ответ

0 голосов
/ 22 мая 2018

Я использую немного другой интерфейс для заглушки и насмешек, который выглядит следующим образом:

allow(helper).to receive(:action_name).and_return('index')

Когда вы просто хотите заглушить ответ.

Но если вам нужно настроить ожидание:

expect(helper).to receive(:action_name).and_return('index')

Более подробную информацию вы можете найти в документации: https://relishapp.com/rspec/rspec-mocks/v/3-7/docs/basics

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...