이것은 내가 가지고있는 것입니다 :rspec을 사용하여 파일의 존재를 조롱하거나 가짜로 만들 수 있습니까?
it "should be able to get a valid directory path" do
@asset.some_file_path.should == "/something/test.jpg"
end
기존 파일이 없으면 some_file_path는 "/not_here_yet.jpg"를 반환합니다.
def some_file_path
if File.exists(self.my_image_path)
return my_image_path
else
return "/not_here_yet.jpg
end
end
테스트에서 새 파일을 만들고 싶지 않습니다. 파일의 존재를 위조하는 방법이 있습니까?
나는 다음과 같은 것을 생각하고있다.
it "should be able to get a valid directory path" do
AwesomeFakeFileCreator.create(@asset.my_image_path)
@asset.some_file_path.should == "/something/test.jpg"
end
이것이 가능한가? 어떻게 그런 일을 할 수 있습니까?
편집 : FakeFS 조금 보였지만 내 질문에 대한 답변을 잘 모르겠습니다
조금 더 자세하게 설명해 주시겠습니까? – marcgg
첫 번째 줄은 파일이 존재 함을 스텁 아웃하고 두 번째 줄은 자산 객체의 my_image_path 메소드를 스텁 아웃하고 파일 경로를 반환하며,이 경우 some_file_path 메소드가 반환합니다. 즉 전체 spec 예제가 무엇인지 반환합니다. 요약하면 경로가 있으면이를 반환하십시오. – nas
당신은 나를 행복하게 해주지 않아도됩니다. 나는 그 질문을하지 않았습니다. 그러나 나는 그것을 이해하지 못했음을 두려워합니다. – Shadowfirebird