Javaでモックオブジェクトを作るのに最適なフレームワークは何ですか?なぜですか?それぞれのフレームワークの長所と短所は何ですか?
私はMockitoを使って成功しました。
JMockやEasyMockについて学ぼうとしたとき、学習曲線が少し急だと感じました(私だけかもしれませんが)。
Mockitoが好きなのは、シンプルできれいな構文で、すぐに理解できたからです。最小限の構文で一般的なケースをサポートするように設計されていますが、もっと複雑なことをしなければならないときも、私が望んでいることがサポートされていて、簡単に理解できました。
以下は、Mockitoのホームページに掲載されている例です(簡略化しています)。
import static org.mockito.Mockito.*;
List mockedList = mock(List.class);
mockedList.clear();
verify(mockedList).clear();
これ以上に簡単なことはありません。
唯一の大きな欠点は、スタティックなメソッドをモックできないことです。