Не удается проверить функциональность рендеринга для вспомогательных методов в Rspec - PullRequest
6 голосов
/ 21 сентября 2011

Я использую Rails 2.3.4 и Rspec 1.2.0.Я пытаюсь проверить помощника, который пытается отобразить страницу или фрагмент, я получаю исключение как

неопределенный метод render для

Предположим, мой вспомогательный метод

def some_helper
 render(:partial => "some/partial", :locals => {:some => some}
end 

и вызов его из спецификации как

it "should render the partial" do
 some_helper.should render_template("some/partial")
end

Любое предложение будет полезно

Ответы [ 2 ]

8 голосов
/ 24 января 2013

А как же:

it "should render the partial" do
  helper.should_receive("render").with("some/partial")
  some_helper
end

UPDATE

Когда вы используете новый синтаксис ожидания, я бы сделал

it "renders the partial" do
  allow(helper).to receive(:render)
  some_helper
  expect(helper).to have_received(:render).with("some/partial")
end
0 голосов
/ 05 июня 2019

Приведенное выше решение Эрика Си не работает для меня. Если кто-то находит то же самое, вот мой рабочий тестовый код:

it 'renders the template' do
  allow(helper).to receive(:render).and_call_original
  helper.helper_method(arg)
  expect(helper).to have_received(:render).with(partial: 'my/partial')
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...