Mockitoは、Java用の非常に優れたスタブ/モックフレームワークのようです。唯一の問題は、APIを使用する最良の方法に関する具体的なドキュメントが見つからないことです。テストで使用される一般的な方法は次のとおりです。
doXXX(???) : Stubber
when(T) : OngoingStubbing
then(T) : OngoingStubbing
verify(???) : T
given(T) : BDDOngoingStubbing
willXXX(???) : BDDStubber
Mockitoの実際の例を見ると、次のようなコードが表示されます。
when(yourMethod()).thenReturn(5);
私が読んだすべてのドキュメントから、上記の例のように、これらのメソッド呼び出しをデイジーチェーン接続して得られたMockitoの「文法」のいくつかの「パターン」を特定しました。私が見つけたいくつかの一般的なパターンは次のとおりです。
When / Then: when(yourMethod())。thenReturn(5);
Gived / Will: given(yourMethod())。willThrow(OutOfMemoryException.class);
Do / When: doReturn(7).when(yourMock.fizzBuzz());
Will / Given / Do: willReturn(any())。given(yourMethod())。doNothing();
検証/実行: verify(yourMethod())。doThrow(SomeException.class);
私が窒息しているのは、テストケースをモデル化するためのメソッド呼び出しの適切なパターン/組み合わせを選択する方法です。一見無限のコンボでこれらをデイジーチェーン接続できるようですが、どのパターンがどの問題に適しているかはわかりません。
一部のMockitoの達人は、どのタイプのテストケースにどのパターン/組み合わせのMockitoメソッドが使用されているか(およびその理由)を明らかにするのに役立ちますか?前もって感謝します!