首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RSpec中的赋值方法返回零

RSpec中的赋值方法返回零
EN

Stack Overflow用户
提问于 2016-11-18 09:56:38
回答 1查看 1.1K关注 0票数 0

我正在用模拟和存根进行测试,但我的输出始终为零。我不确定这是否是分配方法的问题。我还可以知道如何调试这类问题吗?我正在使用3.5.2谢谢。

失败的测试:

代码语言:javascript
复制
describe 'guest user' do
   describe 'GET index' do
     let(:achievement) { instance_double(Achievement) }

     before do
       allow(Achievement).to receive(:get_public_achievements) { [achievement] }
     end

     it 'assigns public achievements to template' do
       get :index
       expect(assigns(achievement)).to eq([achievement])
     end
   end
end

控制器中的索引操作

代码语言:javascript
复制
 def index
   @achievements = Achievement.get_public_achievements
 end

成就模型中的get_public_achievements

代码语言:javascript
复制
  def self.get_public_achievements
     // empty method it's fine
  end

错误:

代码语言:javascript
复制
1) AchievementsController guest user GET index assigns public achievements to template
 Failure/Error: expect(assigns(achievement)).to eq([achievement])

   expected: [#<InstanceDouble(Achievement) (anonymous)>]
        got: nil

   (compared using ==)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-18 10:00:56

assigns是由符号组成的。应该是

代码语言:javascript
复制
expect(assigns(:achievements)).to eq([achievement])
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40674053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档