我试图使用expect_to_receive rspec期望值,但没有任何运气。我的控制器规范文件看起来是这样的:
it 'resolves an end behaviour' do
expect_any_instance_of(Job).to receive(:resolve_end_behaviour)
post :callback, @params
end我的控制方法是:
def callback
@video = JobVideo.find(params['body']['id'].to_i)
if !@video.is_ready
@video.job.resolve_end_behaviour
@video.update_attribute(:is_ready, true)
end
render json: { success: true }
end运行rspec会给我以下信息:
Exactly one instance should have received the following message(s) but didn't: resolve_end_behaviour我确信此方法被称为“因为is_ready列正在更新”。有人能告诉我为什么会发生这种事吗?我能做些什么?提前谢谢。
环境规划署:
发布于 2014-07-15 15:00:27
您的测试期望使用两个参数调用resolve_end_behaviour,而调用它时不带任何参数。
https://stackoverflow.com/questions/24761479
复制相似问题