いくつかの特別なスタブ メソッドを作成し、そのメソッドが確実に存在するようにしたいと考えてstub_check
いstub_chain_check
ます。
例えば:
#spec/controllers/payments_controller_spec.rb`
describe PaymentsController do
it "makes a payment" do
# Ensure method exists, Payment.new.respond_to?(:pay)
# the API of Payment can change and tests will pass
raise "Stubbing wrong method Payment#pay method doesn't exists" unless Payment.new.respond_to?(:pay)
Payment.any_instance.stub(pay: true) # We can stub method now
# Code...
end
end
しかし、私は何かしたいと思いますPayment.stub_check(pay: true)