2016-12-08 4 views
0

私は、同じものの異なる形式を返すメソッドを持つクラスを持っています。私は彼らのうちの1人が呼ばれていることを知る必要があり、私は過度に制限することを望まない。Mockitoベリファイなし_default_相互作用

例外をスローするために、デフォルトの回答(mock()の2番目の引数)を設定しようとしましたが、スタブを設定していても例外がスローされました(つまり、when(...)呼び出し)。ドキュメントでは、これを使用することも推奨していません。

したがって、明示的なスタブを持つメソッドだけを呼び出すことができるようにするには、適切な方法がありますか?

+0

代替構文doReturn(...)when when(mock).method() 'を結んだことはありますか? – Brice

+0

私はそれを考えましたが、それはとても醜いと感じています...ドキュメンテーションはまた、デフォルトの答えがレガシー目的のために使用されることを意味しています。 –

+0

それは醜いですが、それは唯一の方法です。ドキュメントには、レガシーシステムではほとんど役に立ちますが、これが唯一の使用法であるとは限りません。しかし、私がここで懸念するのは、単体テストの決定的意志のようなものです。 – Brice

答えて

1

明らかに、正確には1.9に追加されたignoreStubs()があります。使用法:

verifyNoMoreInteractions(ignoreStubs(mock, mockTwo)); 
関連する問題