【发布时间】:2013-06-22 14:23:08
【问题描述】:
我正在尝试使用 Rspec 删除 Stripe API,但遇到了问题。这是我的代码的样子:
Stripe::Customer.should_receive(:create).with(any_args).and_raise(Stripe::CardError)
这是我得到的错误:
Failure/Error: Stripe::Customer.should_receive(:create).with(any_args).and_raise(Stripe::CardError)
ArgumentError:
wrong number of arguments (0 for 3..6)
【问题讨论】:
-
Stripe::CardError 是否需要 3..6 个参数?
-
我认为它可能,但我的印象是 Rspec 会做一点魔法来创建错误的模拟实例。不是这样吗?
-
我不知道这种能力,但无论如何它没有机会,因为 Ruby 将在 RSpec 有机会做任何事情之前评估 Strip::CardError。
-
投反对票似乎有点苛刻。在测试用例中找到错误数量的链式调用中的参数错误,其中测试代码和运行代码的语言不需要括号进行方法调用,这可能会令人困惑。
标签: ruby rspec stripe-payments