【问题标题】:How to create a JUnit TemporaryFolder with subfolders如何创建带有子文件夹的 JUnit TemporaryFolder
【发布时间】:2016-09-04 13:00:25
【问题描述】:

我想创建一个代表此类树的 baseFolder 的 JUnit TemporyFolder:

baseFolder/subFolderA/subSubFolder
          /subFolderB/file1.txt

据我了解,我可以设置一个 TemporaryFolder,然后可以使用位于该文件夹中的“newFolder()”伪文件夹创建。但是我怎样才能在下面创建图层呢?尤其是在测试后清理的方式。

【问题讨论】:

    标签: java junit junit4 junit-rule


    【解决方案1】:

    temporaryFolder.newFolder(String... folderNames) 将整个层次结构作为参数:

    @Rule
    public TemporaryFolder temporaryFolder = new TemporaryFolder();
    
    @Test
    public void test() throws Exception {
        File child = temporaryFolder.newFolder("grandparent", "parent", "child"); //...
    
        assertEquals("child", child.getName());
        assertEquals("parent", child.getParentFile().getName());
        assertEquals("grandparent", child.getParentFile().getParentFile().getName());
        System.out.println(child.getAbsolutePath());
    }
    

    它通过了测试并打印:

    /var/folders/.../T/junit8666449860303204067/grandparent/parent/child
    

    【讨论】:

    【解决方案2】:

    TemporaryFolder 有一个方法newFolder(String...folderNames) 允许您创建子目录。

    tempFolder.newFolder("subFolderA", "subSubFolder")
    

    http://junit.org/junit4/javadoc/4.12/org/junit/rules/TemporaryFolder.html#newFolder(java.lang.String...)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-23
      • 1970-01-01
      • 2016-01-30
      • 2019-08-12
      • 2022-10-30
      • 2020-09-11
      • 1970-01-01
      相关资源
      最近更新 更多