Was ist das beste Mock-Framework für Java?

Was ist der beste Rahmen für die Erstellung von Mock-Objekten in Java? Und warum? Was sind die Vor- und Nachteile der einzelnen Frameworks?

Lösung

Ich habe gute Erfahrungen mit Mockito gemacht.

Als ich versuchte, über JMock und EasyMock zu lernen, fand ich die Lernkurve ein bisschen steil zu sein (obwohl vielleicht, dass ' s nur ich).

Ich mag Mockito wegen seiner einfachen und sauberen Syntax, die ich ziemlich schnell verstehen konnte. Die minimale Syntax ist so konzipiert, dass sie die häufigsten Fälle sehr gut unterstützt, obwohl ich in den wenigen Fällen, in denen ich etwas Komplizierteres machen musste, feststellen konnte, dass das, was ich wollte, unterstützt wurde und leicht zu verstehen war.

Hier ist ein (gekürztes) Beispiel von der Mockito-Homepage:

import static org.mockito.Mockito.*;

List mockedList = mock(List.class);
mockedList.clear();
verify(mockedList).clear();

Einfacher geht's nicht mehr.

Der einzige große Nachteil, den ich mir vorstellen kann, ist, dass es keine statischen Methoden spottet.

Kommentare (12)

Wir verwenden EasyMock und EasyMock Class Extension bei der Arbeit und sind sehr zufrieden damit. Es gibt Ihnen im Grunde alles, was Sie brauchen. Werfen Sie einen Blick in die Dokumentation, es gibt ein sehr schönes Beispiel, das Ihnen alle Funktionen von EasyMock zeigt.

Kommentare (2)

Ich begann mit Mocks durch JMock, aber schließlich übergegangen, um EasyMock verwenden. EasyMock war genau das, --einfacher - und bot eine Syntax, die mehr natürlich fühlte. Ich habe seitdem nicht gewechselt.

Kommentare (0)