私がクラスを持っているとしましょう
class SomeClass
{
public void methodA()
{}
public void methodB()
{}
public void someMethod()
{
methodA();
methodB();
}
}
Mockitoを使用してsomeMethod()の動作をテストしたいと思います。
私が考えることができる唯一の方法は、spy()を使用することです。
何かのようなもの
SomeClass someClass = spy(new SomeClass());
someClass.someMethod();
InOrder inOrder = inOrder(someClass);
inOrder.verify(someClass).methodA();
inOrder.verify(someClass).methodB();
私はmockitoに不慣れで、ドキュメントには
「実際のスパイは、たとえばレガシーコードを扱う場合など、慎重かつ時折使用する必要があります。」
したがって、何かが足りない可能性があり、テストケースで明示的に呼び出さずにmethodAとmethodBが呼び出されたことを確認するためのより良い(正しい)方法があります。
ありがとう。