Esto es lo que tengo:¿Cómo puedo simular/falsificar la existencia de un archivo usando rspec?
it "should be able to get a valid directory path" do
@asset.some_file_path.should == "/something/test.jpg"
end
El problema es que "/not_here_yet.jpg" vuelve some_file_path si no hay un archivo existente.
def some_file_path
if File.exists(self.my_image_path)
return my_image_path
else
return "/not_here_yet.jpg
end
end
Realmente no quiero crear un nuevo archivo en mis pruebas. ¿Hay alguna manera de falsificar la existencia del archivo?
estoy pensando algo en la línea de:
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
Es esto posible? ¿Cómo puedo hacer tal cosa?
Edit: se parecía un poco a FakeFS pero no estoy seguro de que responde a mi pregunta
¿Podría detallar un poco lo que está haciendo? – marcgg
La primera línea anota que el archivo existe devuelve verdadero y la segunda línea anula el método my_image_path en el objeto activo y devuelve la ruta del archivo, cuyo método some_file_path devolverá en ese caso, es decir, de lo que trata todo el ejemplo de la especificación. En resumen, devuelva la ruta si existe. – nas
No es que tengas que mantenerme feliz ni nada, no hice la pregunta, pero me temo que no lo entendí. – Shadowfirebird