문제

I need a folder structure like this:

home
    --level1
        --level2a
        --level2b

I can create the first level with junit's temporary directory, but how do you create the levels below it?

 @Rule
    public TemporaryFolder home= new TemporaryFolder();

    @Before
    public void setUp() 
    {
        File level1= home.newFolder("level1");
    }
도움이 되었습니까?

해결책 2

Try this:

package com.sandbox;

import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;

import java.io.File;

import static org.junit.Assert.assertTrue;

public class SandboxTest {

    @Rule
    public TemporaryFolder folder = new TemporaryFolder();
    private File level1;
    private File level2a;
    private File level2b;

    @Before
    public void setUp() throws Exception {
        level1 = folder.newFolder("level1");
        level2a = folder.newFolder("level1/level2a");
        level2b = folder.newFolder("level1/level2b");
    }

    @Test
    public void whenCreatingNestedFoldersThenAllGetDeleted() {
        assertTrue(level1.exists());
        assertTrue(level2a.exists());
        assertTrue(level2b.exists());

        System.out.println(level1.getAbsolutePath());
    }

}

It will work exactly as you'd expect. All will be cleaned up after the test runs.

다른 팁

import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;

import java.io.File;

import static org.junit.Assert.assertTrue;

public class SandboxTest {

    @Rule
    public TemporaryFolder folder = new TemporaryFolder();
    private File level1;
    private File level2a;
    private File level2b;

    @Before
    public void setUp() throws Exception {
        level1 = folder.newFolder("level1");
        level2a = folder.newFolder("level1", "level2a");
        level2b = folder.newFolder("level1", "level2b");
    }

    @Test
    public void whenCreatingNestedFoldersThenAllGetDeleted() {
        assertTrue(level1.exists());
        assertTrue(level2a.exists());
        assertTrue(level2b.exists());

        System.out.println(level1.getAbsolutePath());
    }

}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top