0

我想为 Apache IoTDB 编写一个测试用例。但是,我在清理测试环境时遇到有关删除文件的错误。

我的代码:

  @After
  public void tearDown() {
    try {
      for (String filePath : pathList) {
        FileUtils.forceDelete(new File(filePath));
      }
    } catch (Exception e) {
      Assert.fail(e.getMessage());
    }
  }

错误信息是: 在此处输入图像描述

文件target\data\data\sequence\...是在我的单元测试中创建的。

我怎么解决这个问题?

4

1 回答 1

0

Windows 上的 CI 失败,因为您在删除文件的同时仍持有该文件的处理程序。我查看了您的测试代码并猜测这是因为您使用FileReaderManager.getInstance().get()getTsFileSequenceReaderFileReaderManager缓存该文件处理程序。因此,您可能需要在删除文件之前尝试调用FileReaderManager.getInstance().closeAndRemoveAllOpenedReaders()以释放所有文件处理程序。

于 2021-11-12T07:52:51.993 回答