double
テストダブルを作成するにはメソッドを使用する必要があるとrspec docに記載されています。しかし、使用しなくても問題なく動作することがわかりますdouble
。使わないと何か問題あるのdouble
?また、double how MyClass
getsstub
やその他の 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