0
我有一個方法是這樣的:Rspec的測試與模擬的靜態方法和非靜態方法
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)
問題是與我的模擬我想,但我看不出如何解決這個問題。關於如何使我的模擬適應這種新格式的任何想法?