【发布时间】:2017-01-11 17:37:23
【问题描述】:
我正在对支付网关集成类进行追溯测试。有purchase方法,其中payment_method通过如下代码赋值:
payment_method = order.purchaser.payment_methods.build(
transaction.payment_method.field_hash
.select { |k, _| valid_payment_method_params.include?(k) }
.merge(type: transaction.payment_details.payment_type.camelize)
)
稍后在purchase 中,payment_method 用于一些条件语句中以获取一些返回值。
我需要确保 payment_method 具有一定的价值。我的第一直觉是以某种方式模拟返回值。例如。 -
allow(:payment_method).to be(my_value)
不过,这是伪代码,我无法在 Relish 文档中找到它的等价物。这不是我第一次再次遇到这种情况,所以我相信我缺少一些基本或明显的东西,并且希望得到一些见解。
我如何模拟这个作业并确保 payment_method 是我想要的?
【问题讨论】:
标签: ruby-on-rails unit-testing rspec