2014-02-01 2 views
0

не могли бы вы мне помочь, чтобы понять, как отключить публичный метод с Rspec в Rails.Rspec stub public method

class MyClass 
    def start 
    result = continue 
    result << ' morning glory' 
    end 

    def continue 
    'some text' 
    end 
end 

добавить спецификации

context '#start' do 
    let(:myclass) { MyClass.new } 
    let(:result) { "What*s the story morning glory" } 

    **1 variant(not working)** 
    before { myclass.stub(:continue) { "What*s the story" } } 

    **2 variant(not working)** 
    before { MyClass.any_instance.stub(:continue) { "What*s the story" } } 

    it { expect(myclass.start).to eql result } 
end 

У вас какие-либо идеи, как решить эту проблему?

Спасибо.

ответ

1
before(:each) { MyClass.any_instance.stub(:continue).and_return "What*s the story" } 
+0

Работая отлично, спасибо для ответа. –

+0

@SashaStadnik [одобрить ответ] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work), если это правильно для вашего дела – gotva