2

統合テストを作成したいのですが、1つの小さな制限があります。モックアウトしたいTimeSourceBeanを入手しました。このTimeSourceBeanは、アプリケーションで数回深く使用されます。(リフレクションでこれを行う方法はありません)

すべてがautowireによって行われます。

テストで、必要な実装を使用して追加のXMLをロードできると思います。参照してください:ここに

しかし、テスト自体でモックTimeSourceBeanを作成し、それをコンテキストに登録(元のBeanを置き換える)できると本当に便利です。

=>したがって、テストを開始する前に、モックを作成し、次のようにBeanを登録します。

context.registerBean(timeSourceBeanMockVersion);

これが可能であれば何かアイデアはありますか?

4

1 に答える 1

0

同じインターフェースを実装する別の Bean/クラスを追加し (できればそれらを使用してください)、この別の Bean クラスを @Primary としてマークすることができます。

ただし、このプライマリ Bean が必要なテスト ケースにのみロードされるようにする必要があります。

于 2011-10-28T09:39:50.867 に答える