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

时间:2017-08-15 17:28:52

标签: java apache-commons-io

我知道以前曾经问过这种变化。

但是,我的一个功能是使用Common's FileUtils。这里只需要File对象和String。有没有办法对它进行单元测试?

1 个答案:

答案 0 :(得分:2)

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

如果您使用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());
  }
}