JUnit で src/test/resources ディレクトリのパスを取得するにはどうすればいいですか? 質問する

JUnit で src/test/resources ディレクトリのパスを取得するにはどうすればいいですか? 質問する

次のようにして src/test/resources からファイルをロードできることはわかっています。

getClass().getResource("somefile").getFile()

しかし、どうすれば src/test/resourcesディレクトリへの完全なパスを取得できるのでしょうか。つまり、ファイルをロードするのではなく、ディレクトリのパスを知りたいだけなのです。

ベストアンサー1

クラス ローダーをいじる必要はありません。実際、クラス ローダー リソースはjar アーカイブ内にあるときは java.io.File オブジェクトではないため、これは悪い習慣です。

Maven はテストを実行する前に現在の作業ディレクトリを自動的に設定するので、次のように使用できます。

    File resourcesDirectory = new File("src/test/resources");

resourcesDirectory.getAbsolutePath()本当に必要な場合は正しい値が返されます。

src/test/dataテストでファイルシステム経由でデータにアクセスする場合は、ディレクトリを作成することをお勧めします。これにより、何を実行しているかが明確になります。

おすすめ記事