14

このようなツリーの baseFolder を表す JUnit TemporyFolder を作成したいと思います。

baseFolder/subFolderA/subSubFolder
          /subFolderB/file1.txt

私が理解している限り、TemporaryFolder をセットアップして、そのフォルダーにある "newFolder()" 疑似フォルダーを作成することができます。しかし、下にレイヤーを作成するにはどうすればよいですか? 特に、テスト後にクリーンアップされる方法で。

4

2 に答える 2

15

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
于 2016-09-04T13:11:53.323 に答える
0

TemporaryFolder には、newFolder(String...folderNames)サブディレクトリを作成できるメソッドがあります。

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

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

于 2016-09-04T13:11:46.100 に答える