在下面的示例中是否可以指定引发哪个find_by!
异常(我希望引发第二个异常,而不是第一个):
def self.test
Instance.stubs(:find_by!).raises(ActiveRecord::RecordNotFound)
begin
function_one
rescue ActiveRecord::RecordNotFound
puts 'Failure'
end
begin
function_two
rescue ActiveRecord::RecordNotFound
puts 'Success'
end
end
def self.function_one
Model.find_by!(id: 1)
end
def self.function_two
Model.find_by!(id: 1)
end
*假设id: 1
不存在。像在示例中一样,还假定它们将是静态类函数,但是在添加any_instance
不足以用于实例方法的情况下,请提及任何区别。
答案 0 :(得分:0)
怎么样?
Instance.stubs(:find_by!).returns('result').then.raises(ActiveRecord::RecordNotFound)