Как проверить Devise в контроллере RSpec, ошибка: неопределенный метод `assign 'для # <RSpec :: Core :: ExampleGroup :: Nested_1: 0x0000010597f4b8> - PullRequest
4 голосов
/ 28 августа 2011

Я получаю следующую ошибку:

undefined method `assign' for #<RSpec::Core::ExampleGroup::Nested_1:0x0000010597f4b8>

При попытке проверить по документам .

Вот что у меня есть:

user_controller_spec.rb

require 'spec_helper'

describe "devise/sessions/new.html.erb" do
  let(:user) do
    stub_model(User).as_new_record
  end

  before do
    assign(:user, user)
    # Devise provides resource and resource_name helpers and
    # mappings so stub them here.
    @view.stub(:resource).and_return(user)
    @view.stub(:resource_name).and_return('user')
    @view.stub(:devise_mapping).and_return(Devise.mappings[:user])
  end

  it "renders a form to sign the user in" do
    render
    rendered.should have_selector("form",
                                  :method => "post",
                                  :action => user_session_path
                                  ) do |form|
      form.should have_selector("input", :type => "submit")
    end
  end
end

Предложения? Спасибо

1 Ответ

4 голосов
/ 29 августа 2011

Rspec немного изменился, теперь он использует assigns.

Документ здесь .

...