我正在尝试存根具有单个参数的类的实例方法。这是该课程的简化形式。
class GetPost
def call(post_id)
#some meaningful stuffs
end
end
class GetPreviewTemplate
def call(post_id)
begin
GetPost.new().call(post_id)
rescue => e
Post.find_by_ref(post_id).update(failed: true)
raise
end
end
end
以下是我尝试存储call
GetPost
方法以引发错误的方法,以便我可以在GetPreviewTemplateTest
中验证失败的方案。
test 'that should NOT get the HTML content of non-existing dummy post from CMS' do
GetPost.any_instance.stubs(:call).with(any_parameters).raises(ArgumentError)
GetPreviewTemplate.new(@post.id).call
assert_not @post.status
end
运行测试时出现以下错误
Wordpress::GetPreviewTemplateTest#test_that_should_NOT_get_the_HTML_content_of_non_existing_dummy_post_from_CMS:
ArgumentError: ArgumentError
app/services/wordpress/get_preview_template.rb:19:in `call'
建议,请。