2017-02-01 3 views
3

私はスプリングブート(@RunWith(SpringRunner.class))の@MockBeanを使用しています。
しかしモッククラスのすべてのメソッドにデフォルトの実装が用意されているので、呼び出されるメソッドが呼び出されたかどうか、つまり厳格なモックを作成したいのかどうかは確認できません。
@MockBeanでそれは可能ですか?スプリングブートの@MockBeanを使用する場合、厳密なモックを作成しますか?

誰かが私が期待したメソッドだけが呼び出されたかどうかをチェックする良いアイデアがある場合は、厳密なモックを作成することを主張しません。

事前にお世話になりました!

よろしく、
V.

答えて

1

Mockitoを使用すると、メソッドが呼び出されたことを確認できます。

verify(mockOne).add("one"); 

するか、それが呼ばれなかったこと((は)倍、より読みやすいの別名であることはありません(0)):

verify(mockOne, never()).remove("two"); 

それとも、メソッドが呼び出されなかったことを確認することができます

verify(mockOne).add("one"); // check this one 
verifyNoMoreInteractions(mockOne); // and nothing else 

のために詳細はMockito documentationを参照してください。

+0

ああ、私は 'verifyNoMoreInteractions'と' verifyZeroInteractions'が好きです、彼らはやります!ありがとう! – Viktor

0

あなたは@Mockbeanによって作成されたモックオブジェクトのためのMockito.verifyメソッドを使用することができます。 呼び出し回数、指定された引数などを確認できます。 試してみてください。

+0

ありがとうございました!だから 'times(0)'でも書くことができますか? 'times(0)'ですべてのメソッドをチェックする必要がない別のものはありますか? – Viktor

+0

はい、できます。 – hiroyukik

+0

申し訳ありませんが、私は最後の文章を読んでいません。 verifyZeroInteractionsを使用してみてください。 私は一度も使ったことがありません。 – hiroyukik

関連する問題