私のSpring Beanの1つ(アプリケーションクラスと言う)に対して、プロパティファイル(prop.properties)からプロパティ(my.property.flag = true/false)の値を取得しています。 @Valueアノテーションを使用します。それは完璧に動作します。インテグレーションテストの@Valueをオーバーライド
プロパティの両方の値、つまりtrueとfalseの両方でテストする必要がある統合テスト(ApplicationItクラスなど)を記述する必要があります。
私のプロパティファイルでは、プロパティの値がtrueに設定されています。私のインテグレーションテストから値を動的にfalseに設定することは可能ですか?例について
、
prop.properties:
my.property.flag=true
アプリケーション・クラス・ファイル:
@Component
class Application {
//This value is fetched from properties file
//the value is set to true.
@Value(${my.property.flag})
private String isTrue;
......
..........
}
統合テスト:
class ApplicationIT {
//how can I set the value of isTrue here to false?
}
あなたは別の性質は、テストのオーバーライドを使用してファイルを作成することができます。 – shmosel
このプロパティファイルには多くのプロパティがあり、私が持っている要件は1つのプロパティだけです。私はこの単一のプロパティのためだけに新しいプロパティファイルを作成するほど賢明ではないと思います。 – Sandy
おそらくこれをチェックしたいと思うでしょう。https://stackoverflow.com/questions/16478679/update-field-annotated-with-value-in-runtime –