私は現在、あるファイルとの間でプロセス構成をロード/保存する機能をチェックするJUnitテストに取り組んでいます。特定の構成ファイルがリソースに存在する場合、機能はファイルからパラメーターをロードします。それ以外の場合、機能は新しい構成ファイルを作成し、クラスにコード化されたデフォルト構成を保持しようとします。現在、.class.getResource()メソッドを使用して、構成ファイルが存在するかどうかを確認し、必要な情報を取得しています。このアプローチは、Mavenの「test-class」ディレクトリと「class」ディレクトリの両方で正常に機能することが証明されています。ただし、ファイルが存在しない場合、つまり.class.getResource()メソッドがリソースがまだ存在しないためにnullを返す場合に、デフォルト構成を保存しようとすると問題が発生します。
特定のオブジェクトがテストとして実行されているのか、本番環境で実行されているのかを評価する機能をコーディングする方法はありますか?より正確には、リソースファイルへの相対パスを作成して、の実行モードに応じて本番リソース(../classes/...)またはテストリソース(../test-classes/..)のいずれかを指すようにするにはどうすればよいですか。現在のプロジェクトはどれですか?
私の質問は次のようなものです。Mavenが管理するJavaプロジェクトでテストリソースファイルを見つけるにはどうすればよいですか?しかし、私はそれが新しいスレッドを保証するのに十分異なると思います。