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

ruby-on-rails – 在helper规范中测试当前用户

发布时间:2020-12-17 03:49:59 所属栏目:百科 来源:网络整理
导读:我有这个非常基本的帮助器,它依赖于Sorcery在控制器和助手中提供的current_user变量 def current_user_link user_link current_userend def user_link(user,html_options = {},block) link_to user.to_s,user,html_options,block end 我该如何测试这个助手?
我有这个非常基本的帮助器,它依赖于Sorcery在控制器和助手中提供的current_user变量

def current_user_link
    user_link current_user
end

 def user_link(user,html_options = {},&block)
   link_to user.to_s,user,html_options,&block
 end

我该如何测试这个助手?

describe UsersHelper do
  describe '#current_user_link' do
    it 'should return a link to the current user' do
      expected_link = link_to current_user.name,current_user
      ???

      expect(current_user_link).to eq expected_link
    end
  end

我是否需要以某种方式存根current_user?
???它甚至值得测试吗?

解决方法

这就是我解决它的方式.

describe '#current_user_link' do
  it 'returns a link to the current user ' do
    user = build(:user)
    expected_link = link_to user.name,user
    allow(controller).to receive(:current_user).and_return(user)

    expect(helper.current_user_link).to eq(expected_link)
  end
end

PSA:别忘了在帮助器上调用你的方法.

(编辑:李大同)

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

    推荐文章
      热点阅读