سؤال

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