Bu benim sahip olduğum şey:Rspec kullanarak bir dosyanın varlığını nasıl sahte yapabilirim?
it "should be able to get a valid directory path" do
@asset.some_file_path.should == "/something/test.jpg"
end
Sorun şu ki, eğer mevcut bir dosya yoksa, "/not_here_yet.jpg" ifadesini "some_file_path" döndürür.
def some_file_path
if File.exists(self.my_image_path)
return my_image_path
else
return "/not_here_yet.jpg
end
end
Testlerimde gerçekten yeni bir dosya oluşturmak istemiyorum. Dosyanın varlığını taklit etmenin bir yolu var mı?
Şununla ilgili düşüncelerim var:
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
Bu mümkün mü? Böyle bir şeyi nasıl yapabilirim?
Düzeltme: FakeFS modeline biraz baktım ama eminim ki
Bunun ne yaptığını biraz detaylandırır mısınız? – marcgg
İlk satır, dosyanın varolduğunu ve ikinci satırın varlık nesnesi üzerinde my_image_path yöntemini saptadığını ve bu örnekte bazı_dosya_yolu yönteminizin geri döneceği dosya yolunu döndürdüğünü, yani tüm örnekle ilgili olduğunu saptadı. Özet olarak, varsa yolu iade edin. – nas
Beni mutlu etmene ya da bir şeyden sakınmana gerek yok - soruyu sormadım - ama korkarım ki bunu anlamadım. – Shadowfirebird