2016-09-26 6 views
0

からロードされた別の@Bean前@Beanを作成するための従来の方法は、だから、私は統合テストのための模擬しようとしているいくつかの依存関係を持っています。春 - ライブラリー

具体的には、ブートストラップ設定プロセスの一部としてEureka clientをロードし、discovery serviceに接続しようとすると、自分のクラスパスにspring-cloudがあります。

現在、私は実サーバを使用していますが、クライアントは、それに接続しようとする前に、私は、それを嘲笑したいと思います。

残念ながら、クライアントがライブラリに含まれているため、私はコントロールできません。つまり、@DependsOnアノテーションを追加することはできません。

私は、様々な春のライフサイクルのリスナーと一緒に遊んでいたと私は私はそれが仕事を得ることができるはずだと思いますが、問題を解決するためのクリーンなアプローチがあるかどうかと思いまして。あなたは次のプロパティ "eureka.client.enabled:false"


で別の方法をあなたの統合テストのためのユーレカを無効にすることができます

+0

多分[this](http://stackoverflow.com/questions/34307529/strategy-for-unit-testing-a-spring-cloud-service)あなたを助けることができます。 –

答えて

0

は、その上に@Primary注釈付きモックユーレカBeanを生成することです。この戦略は@DependsOn設定の反対です。

候補が複数値の依存関係をオートワイヤードする資格がある場合にBeanに優先権を与える必要があることを示します。 正確に一つの主要 "Beanが候補の中に存在する場合、それは autowired値になります。

関連する問題