こんにちは私はJUnitテストケースを書くときに問題に遭遇し、比較的新しいMockitoです。void関数のMockito - thenCallRealMethod()void
私は嘲笑しているクラスの関数を持っていますが、この関数はvoid戻り値型であることがあります。私の模擬クラスからこの関数を呼び出すと、元の関数を呼び出さないということを私が理解している(そしてデバッグ経験がある)。これを克服するために、 "when"を "thenCallRealMethod()"で使用しようとしました。
when(instance.voidFunction()).thenCallRealMethod();
"voidFunction"は、私が起動したくないロジックでいっぱいです。私はこれを避けるために文を抽出しました。私はdoReturn().when().voidFunction()
の形式を使用するべきであることを読んだが、これを行うと実際の方法が呼び出されない。
「when」ステートメントの前に呼び出されたvoidFunction()が欲しくないため、ここでスパイを使用することはできませんでした。何か助けていただければ幸いです。これは非常に簡単な解決策であると私は謝ります。ありがとう!
[私の答えは[この質問](http://stackoverflow.com/q/11462697)は、私が思う理由を説明しています。あなたがMockitoを学んでいるだけなら、今はそれを読む時間です。 –
本当に助けてくれてありがとうございました。私はテストファイルを既存のコードベースで既存のコードベースに基づいて学習していましたが、どちらの方法も見たことがありますが、ときには2度の短所にぶつかって助言に同意します – CRDamico
将来の読者には構文が混乱することがあります。慎重に考えてください。 –