2011-01-10 9 views
3

Springで宣言的に私のクラス用のモックフレームワークを使ってモックを宣言することは可能ですか?私はSpringで利用可能ないくつかの標準モックがあることを知っていますが、宣言的に私自身のクラスをモックすることもできたいと思います。Springと私のカスタム依存関係をモックする

これを間違った方法で実行しているわけではありません。アイデアは、JUnitテストのペアと、それぞれの統合テストのためのSpringの設定を持つことです。テスト(一度に1つずつテストする2つの異なるデータサービスに依存していました)とモックを指定する繰り返しのJavaコードの量を最小限に抑えます。

答えて

1

実際のXMLを含む特別なcontext.xmlを使用して作成し、特別なBeanの定義を上書きしました。良い、スマートな解決策があることを知ってうれしいですが、これは私のためにうまくいきました。

+0

XMLファイルを複数に分割し、同じままのBeanとテストと本番の間で変更するBeanをグループ化し、各テストで適切なXMLファイルをインポートすることができます。 – Chochos

0

真剣に - あなたは本当にそれをやりたいとは思わない。

が、私はこれを行うにしようとするプロジェクトの数を見てきましたし、私はあなたが春のファイルの

膨大な数の、わずかに異なる各1で終わるだろうことを約束し、しかし、あなたは知らない何を、なぜ。 「宣言的な」定義では、オブジェクトが多すぎるか、間違った共同作業者で実行しているかを判断できないため、スパゲッティコードです。システムの場合

、あなたが外部サービスをスタブアウトすることができますする点がいくつかあります...

私はあなたがGOOSを読むことをお勧めします - それは質問のこの種に答えるに本を捧げます。そこだけを変更したいいくつかの豆で、あなたはすべてのテストのためにそれらを変更したい場合は

http://www.growing-object-oriented-software.com/

0

は、あなたが@Primary注釈を見ている可能性があります。

あなたは@Primaryでテストのための特別なクラスにアノテーションを付けなければなりません。そして、それは実クラスを "上書き"します。 - しかし、すべてのテストでそれをしたい場合にのみ、これを使用してください。

関連する問題