我有一个这样的方法:
def self.method
#API CALL
end
我正在为调用这个静态方法的控制器方法编写测试。代码如下:
it 'update order to confirmed' do
Order.should_receive(:process_payment).and_return({})
sign_in user
attributes = FactoryGirl.attributes_for(:order, :valid_order)
patch :confirm_order, params: { id: order.id, order: attributes }
order.reload
expect(order.confirmed).to eq true
end
这个方法之前一直是静态的并且一直工作正常。但我现在需要将它改为非静态的,结果测试失败了。
现在在我的控制器中,我调用该方法的方式如下:
Order.new.process_payment(@order)
问题可能出在我的模拟数据上,但我不知道该如何解决。有没有办法让我的模拟数据适应这个新格式呢?
allow_any_instance_of
已经被弃用,应该替换为allow
。这里有一些示例。 - Thiago Petrone