JUnit 5で@TempDirをインスタンスフィールドとして使用する方法


以下に、@TempDirをインスタンスフィールドとして使用する方法を示します。

  1. テストクラスで一時ディレクトリのインスタンスフィールドを定義します。
import org.junit.jupiter.api.io.TempDir;
import java.io.File;
public class MyTest {
    @TempDir
    public File tempDir;
    // テストメソッドをここに追加する
}
  1. テストメソッド内でtempDirフィールドを使用して一時ディレクトリを操作します。
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;
import java.io.File;
public class MyTest {
    @TempDir
    public File tempDir;
    @Test
    public void myTestMethod() {
        // tempDirを使用してファイルやディレクトリを作成する
        File file = new File(tempDir, "example.txt");
        file.createNewFile();
        // テストのロジックをここに追加する
    }
}

上記の例では、@TempDirアノテーションを使用してtempDirフィールドが一時ディレクトリとして注入されます。テストメソッド内では、このフィールドを使用して一時ディレクトリ内で必要なファイルやディレクトリを作成します。

これにより、テストメソッドごとに異なる一時ディレクトリが提供され、テスト間の相互影響を回避することができます。

以上が、JUnit 5で@TempDirをインスタンスフィールドとして使用する方法です。