2012-09-17 12 views
5

Mockitoフレームワークを使用してクラスをモックしたいのですが、これには2つのコンストラクタ引数があります。Mockitoを使ってコンストラクタ引数を渡す方法

privateメンバー変数のセッターを生成せずに、これらのコンストラクター引数を渡す方法はありますか?

おかげ

+2

コラボレーターを嘲笑している場合、なぜそれがどのように構築されたか気になりますか?実際には、テスト対象のクラスとの対話方法を定義するだけで済みます。 – millhouse

+0

@millhouse私はモックしたくないメンバーメソッドは、それらのメンバー変数を使用します。 – Dante

+1

あなたがクラスを単体テストしているのなら、あなたは@millhouseが言ったように協力者を模擬しているだけです。それ以外の場合は、実際にあなたのケースでは意味をなさないコラボレーターの部分模倣を作成したいと思います。とにかく、あなたがそれを助けることができるいくつかのコードスニペットを持っている場合。 – Brice

答えて

4

あなたは方法のいくつかではなく、すべてをモックとしたいと述べました。なぜあなたがこれをしたいのか分かりません。あなたのクラスが協力者であれば、クラス全体を模擬するのは理にかなっています。それがSUTなら、あなたはおそらくそれをまねしたくないでしょう。

あなたが探しているものは模擬ではなくspyである可能性があります。スパイを使用することに決めた場合、実際のオブジェクトから作成します。実際のオブジェクトは、必要な引数を使用して構築されています。

しかし、あなたはスパイの使用を検討する前に、私はそれはあなたがテストしているということです正確に何についてより慎重に考えるようにあなたを促す、とあなたは一部モック実装とあなたの方法を交換する必要があると思う理由はなく、その他。