如何使用 FileUtils 对将文件保存到磁盘进行单元测试?

How do I unit-test saving file to the disk with FileUtils?

我知道之前有人问过这个变体。

但是,我的功能之一是使用 Common's FileUtils。在这里,它只需要 File 对象和 String。有什么方法可以对此进行单元测试吗?

当然可以。使用临时文件夹,将文件保存在那里,并在测试后删除该文件夹。

如果您使用 JUnit,请查看 TemporaryFolder JUnit 规则(它会为您创建一个临时文件夹并负责删除)。

示例代码:

public class YourTest {
  @Rule
  public TemporaryFolder folder= new TemporaryFolder();

  @Test
  public void testUsingTempFolder() throws IOException {
      String filePath = folder.newFile("myfile.txt").getAbsolutePath();
      FileUtils.writeFile(filePath, "some String");
      assertTrue(new File(filePath).exists());
  }
}