В rspec doc указано, что для создания теста double я должен использовать метод double
.
Но я вижу, что он работает нормально, даже если я не использую double
. Есть ли что-то неправильное, если вы не используете double
? Также, если я не использую double, как MyClass
получает stub
и другие методы rspec? Доступны ли они для всех объектов при работе в rspec?
require 'spec_helper'
class MyClass
def self.run
new.execute
end
def execute
'foo'
end
end
describe MyClass do
it 'should stub instance method' do
obj = MyClass.new
obj.stub(:execute).and_return('bar')
obj.execute.should == 'bar'
end
it 'should stub class method' do
MyClass.stub(:run).and_return('baz')
MyClass.run.should == 'baz'
end
end