2016-05-27 23 views
0

@Valueアノテーションを持つSpring WebアプリケーションがPropertySourcesPlaceholderConfigurerで埋められています。注釈はWebアプリケーションで正しく解決されます。@Valueアノテーションはアプリケーションで解決されますが、ユニットテストでは解決されません

しかし、SpringJunit4ClassRunnerとユニットテスト用の特定のBeanプロファイルを使用して単体テストを実行すると、Eclipseからテストを実行しても「文字列$ {xxx}のプレースホルダxxxを解決できません」という例外が発生しますまたはMavenから。

興味深いことに、PropertySourcesPlcHlCfg。初期化され(正しくかつ一度だけ)、プロパティファイルが見つかる。名前を変更すると、FileNotFoundExceptionが返される。

ここで間違っていますか?

ありがとうございます!

答えて

1

あなたはJUnitのテストのための特定のファイルをロードするための(春4の場合)

@TestPropertySource(value="classpath:/test.properties") 

使用して試すことができます。

代わりに、あなたも、あなたの設定で豆PropertySourcesPlaceholderConfigurerを作成しようとすることができ

@Bean 
public static PropertySourcesPlaceholderConfigurer propertiesResolver() { 
    return new PropertySourcesPlaceholderConfigurer(); 
} 
関連する問題