@ConfigurationPropertiesクラスで定義されている:私はこのような@ConfigurationPropertiesクラスを持っている
@ConfigurationProperties(prefix = "myprops", ignoreUnknownFields = false)
@Configuration
public class MyProperties {
private Long mySchedulerRate;
@Bean
public Long mySchedulerRate() {
return this.mySchedulerRate;
}
}
私は春のスケジューラのための注釈には、それを参照することができますので、私は豆としてそれを登録しています:
@Scheduled(fixedRateString = "#{@mySchedulerRate}")
public void runScheduledUpdate() {
...
{
はしかし、私は今、私は豆に異なる値を設定できるようにしたいユニットテストを書きたい「mySchedulerRate」。 @ConfigurationPropertiesクラスのMocking/Spyingは、スタブが設定されてから目的の値を返す前にスケジューラが設定されているので機能していないようです。
私がしようとしていることを達成する最も簡単な方法は何ですか?
正確に何をテストしたいですか? mySchedulerRateのコードによれば、Long値は何も期待していません。 – pvpkiran
Beanの値を変更しようとしていたので、Long Beanの値を特定のテストで違う値にします。テストしようとしているImが問題に関連したものではありません。 – Plog
この値は、testフォルダのapplication.propertiesで宣言してください。だからあなたがテストするとき、その値は取られるでしょう – pvpkiran