我想编写一个使用Pharo 4.0 FileSystem使用文件的SUnit测试。
我想写一个文件,然后再读。
像这样 fname := 'TabularTestExport1.xlsx'. (FileLocator temp / fname ) delete. TabularXSLXExport workbook: myWorkbook fileName: (FileLocator temp / fname ).
问题
temp directory以平台无关的方式使用临时文件的方法是什么。 FileLocator temp
或FileLocator tempDirectory
未实现。
删除现有的测试文件如何确保删除文件?即如果文件不存在,如何避免后退。
另外,所有事情都可以在内存中完成:1.创建测试文件,2.导出测试文件,3.导入测试文件
最佳答案
对于测试,除非您拥有真正的大档案,否则最好在内存中做事。
FileSystem为您提供了一种方法,您只需要执行以下操作:
fs := FileSystem memory.
它将为您提供兼容的API,以便您进行测试。
如果要文件而不是目录,可以执行以下操作:
file := FileSystem memory / 'myFile'.
编辑:我忘记了几件事:
FileLocator temp
已实现,应该可以正常工作。为什么说不执行?您是否由于某种原因找不到它?myFileReference ensureDelete
将...很好,请确保您的文件已删除:)