2013-04-23 4 views
0

У меня есть следующие спецификации контроллера, который работает просто отлично прямо сейчас:гася класс в пространстве имен

# This top part is a hack 
module MyModule 
    class MyOAuthClient < OAuthClient 
    def token_is_valid?(options) 
     true 
    end 
    end 
end 

# Here's the actual spec 
describe MyModule::OAuthController do 
    describe "GET callback" do 
    it "works fine when token is valid" do 
     post :callback, use_route: :my_module 
     expect(response.code).to eq("200") 
    end 
    end 
end 

То, что я хочу сделать, это заменить обезьяна патч в моей спецификации заглушкой. Как мне это сделать?

rspec-mocks docs показать примеры для классов-заглушек, которые не находятся под пространствами имен, но, похоже, вы не можете просто применить эти примеры к классам с расширением имен и заставить их работать.

Я уже пробовал некоторые вещи, но я не хочу, чтобы отклонять ответы людей с моими неправильными догадками.

ответ

1

Оказывается, я был после any_instance:

MyModule::OAuthClient.any_instance.stub(:token_is_valid?) { true } 
Смежные вопросы