Это тоже работает. EDIT , если в методе @Before он выглядит так, как будто myfolder.create () должен быть вызван. И это, вероятно, плохая практика, поскольку Javadoc говорит не вызывать TemporaryFolder.create (). 2nd Edit Похоже, вам нужно вызвать метод для создания временных каталогов, если вы не хотите их использовать в методах @Test. Также убедитесь, что вы закрыли все файлы, которые вы открыли во временном каталоге, иначе они не будут автоматически удалены.
<imports excluded>
public class MyTest {
@Rule
public TemporaryFolder myfolder = new TemporaryFolder();
private File otherFolder;
private File normalFolder;
private File file;
public void createDirs() throws Exception {
File tempFolder = myfolder.newFolder("folder");
File normalFolder = new File(tempFolder, "normal");
normalFolder.mkdir();
File file = new File(normalFolder, "file.txt");
PrintWriter out = new PrintWriter(file);
out.println("hello world");
out.flush();
out.close();
}
@Test
public void testSomething() {
createDirs();
....
}
}