我正在用模拟和存根进行测试,但我的输出始终为零。我不确定这是否是分配方法的问题。我还可以知道如何调试这类问题吗?我正在使用3.5.2谢谢。
失败的测试:
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控制器中的索引操作
def index
@achievements = Achievement.get_public_achievements
end成就模型中的get_public_achievements
def self.get_public_achievements
// empty method it's fine
end错误:
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 ==)发布于 2016-11-18 10:00:56
assigns是由符号组成的。应该是
expect(assigns(:achievements)).to eq([achievement])https://stackoverflow.com/questions/40674053
复制相似问题