加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何在Controller RSpec中测试Devise,错误:未

发布时间:2020-12-17 02:30:04 所属栏目:百科 来源:网络整理
导读:我收到以下错误: undefined method `assign' for #RSpec::Core::ExampleGroup::Nested_1:0x0000010597f4b8 尝试按the docs进行测试时. 这就是我所拥有的: user_controller_spec.rb require 'spec_helper'describe "devise/sessions/new.html.erb" do let(:
我收到以下错误:

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

尝试按the docs进行测试时.

这就是我所拥有的:

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

建议?谢谢

解决方法

Rspec已经改变了一点,它现在正在使用分配.

Doc here.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读