如何在使用迷你测试摩卡时为存根指定函数



是否可以指定在以下示例中引发哪个异常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对于实例方法来说是不够的的任何差异。

这个怎么样?

Instance.stubs(:find_by!).returns('result').then.raises(ActiveRecord::RecordNotFound)

最新更新