Pharo FileSystem:使用文件的SUnit测试的setUp

z--*_*z-- 4 smalltalk file pharo

我想编写一个使用Pharo 4.0 FileSystem文件的SUnit测试.我想写一个文件,然后再读它.

像这样的东西

fname := 'TabularTestExport1.xlsx'. (FileLocator temp / fname ) delete. TabularXSLXExport workbook: myWorkbook fileName: (FileLocator temp / fname ).

问题

  1. 临时目录以独立于平台的方式使用临时文件的方法是什么.FileLocator temp或者FileLocator tempDirectory没有实施.

  2. 删除现有测试文件如何确保删除文件?即如果文件不存在,如何避免回溯.

  3. 或者,一切都可以在内存中完成:1.创建测试文件,2.导出测试文件,3.重新导入测试文件

Est*_*nLM 8

对于测试,除非你有一个真正的大档案,否则最好在内存中做事.FileSystem为您提供了一种方法,您只需要:

fs := FileSystem memory. 
Run Code Online (Sandbox Code Playgroud)

它将为您提供兼容的API,以便您进行测试.如果你想要一个文件而不是一个目录,你可以这样做:

file := FileSystem memory / 'myFile'.
Run Code Online (Sandbox Code Playgroud)

编辑:我忘记了几件事:

  1. FileLocator temp已实施,应该可以正常使用.为什么你说没有实现?可能是因为某些原因找不到它吗?
  2. myFileReference ensureDelete 将......好吧,确保你的文件被删除:)