Как добавить файлы во временную директорию в JUnit - PullRequest
0 голосов
/ 20 декабря 2018

Я нашел два способа создания временных каталогов в JUnit.

Путь 1:

@Rule
public TemporaryFolder tempDirectory = new TemporaryFolder();

@Test
public void testTempDirectory() throws Exception {
    tempDirectory.newFile("test.txt");
    tempDirectory.newFolder("myDirectory");
    // how do I add files to myDirectory?
}

Путь 2:

@Test
public void testTempDirectory() throws Exception {
    File myFile = File.createTempFile("abc", "txt");
    File myDirectory = Files.createTempDir();
    // how do I add files to myDirectory?
}

Как указано в комментарии выше,У меня есть требование, где я хочу добавить несколько временных файлов в эти временные каталоги.Запустите мой тест для этой структуры и, наконец, удалите все при выходе.

Как мне это сделать?

Ответы [ 2 ]

0 голосов
/ 20 декабря 2018

Вы можете сделать это так же, как и для реальных папок.

@Rule
public TemporaryFolder rootFolder = new TemporaryFolder();

@Test
public void shouldCreateChildFile() throws Exception {
    File myFolder = rootFolder.newFolder("my-folder");

    File myFile = new File(myFolder, "my-file.txt");
}
0 голосов
/ 20 декабря 2018

Существует два способа удаления временного каталога или временного файла. Во-первых, удалить каталог или файл вручную, используя метод file.delete (). Во-вторых, удалить временный каталог или файл, когда программа существует. User file.deleteOnExist ().Вы можете попробовать это, я печатаю путь к консоли, вы можете проверить, действительно ли delte или нет, я тестирую в системе Windows7.

File myDirectory = Files.createTempDir();
File tmpFile = new File(myDirectory.getAbsolutePath() + File.separator + "test.txt");
FileUtils.writeStringToFile(tmpFile, "HelloWorld", "UTF-8");
System.out.println(myDirectory.getAbsolutePath());
// clean
tmpFile.delete();
myDirectory.deleteOnExit();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...