0
다른 오브젝트의 메소드 (IO # delete)를 여러 번 호출하는 오브젝트 (샘플) 스펙을 작성 중입니다.메소드의 특정 호출로 스펙 분리
은 내가 이렇게 그러나 때,이 방법의 테스트를 분리하려면 : 나는 여러 방법을 호출하면 내가 널 개체 패턴을 사용하고 있기 때문에
class Sample
def delete_them
io.delete "file1"
io.delete "folder1"
end
end
describe Sample do
let(:io) { stub.as_null_object }
subject { Sample.new.tap { |s| s.stub(:io).and_return(io) }}
it "deletes file1" do
io.should_receive(:delete).with("file1")
subject.delete_them
end
it "deletes folder1" do
io.should_receive(:delete).with("folder1")
subject.delete_them
end
end
는 문제가되지 않습니다. 그러나, 나는 두 번째 테스트 실행이 경우, 불평 :
1) Sample instance methods#delete_them deletes folder1
Failure/Error: io.should_receive(:delete).with("folder1")
Stub received :delete with unexpected arguments
expected: ("folder1")
got: ("file1")
모든 통화를 제외하고 내가 수행되고 있는지 확인하기 위해 애 쓰고 하나를 을 무시해야 함을 표시하는 방법이 있나요?