Tomcat は vm 引数で開始されます: -Dserver.ref=test
. この引数の値は、アプリケーションが読み取るプロパティ ファイルのタイプを決定します。単体テストもこのプロパティの値に依存し、Tomcat での設定と一致する必要があります。
単体テスト内でこのプロパティを自分で設定する必要があると思いますか? -Dserver.ref
Tomcat 内 の値を確認するメカニズムはないと思いますか?
システム プロパティを読み取るコードは、インターフェイス SystemPropertyReader を実装する RealSystemPropertyReader などの別のクラスに配置する必要があります。クラスのデフォルトの実装では、System.getProperty() を使用してプロパティを読み取ります。クラス MockSystemPropertyReader のモック バージョンは単体テストで使用され、返すように指示されたものは何でも返します。
これは機能するはずです:
final String ref = System.getProperty("server.ref");
ref
に等しい必要があります"test"
。