Mockito vorzuziehen über EasyMock?
Kürzlich machte ich den Schalter auf Mockito-framework und bin sehr zufrieden damit (siehe auch blog-post). Der Wechsel von EasyMock für Mockito war sehr einfach und ich es geschafft, die Prüfungen nach unten kompatibel (d.h. test-Fällen Verhalten sich die gleichen).
Sehen Sie die wahren Gründe oder shootout-Kriterien zu bevorzugen, EasyMock über Mockito? So weit die Codebasis mit dem ich arbeitete, kann ich nicht, bin aber interessiert an eurer Meinung.
- Mögliche Duplikate von stackoverflow.com/questions/22697/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mockito wurde entwickelt, um eine BDD-style-unit-Tests, das heißt:
im Gegensatz zu
IMHO es produziert mehr lesbar tests, und ermöglicht es Ihnen, die Dinge zu trennen, wie der Kontext, in dem Sie ausführen (einstellen der Verspottet) und überprüfung des Verhaltens, das Sie interessiert. Vorherige mocking frameworks benötigt Sie, um die Erwartungen für jede Interaktion, unabhängig davon, ob es relevant war, um den Aspekt des Verhaltens, die Sie bei uns waren im test oder nicht.
Ich bin mehr vertraut mit EasyMock als Mockito, also ich musste ein wenig Graben. Mockito ist ein Seite, dass nicht ein expliziter Vergleich von Mockito Sicht.
Wie ich es sehe, sind die Vorteile von Mockito sind:
EasyMock hat eine sehr ähnliche Funktion eingestellt. Der Kern Unterscheidungsmerkmale für Mockito basieren auf diesen Gebieten EasyMock, dass die Mockito-team gedacht waren Einschränkungen oder sub-optimale Praktiken.
Aus funktionaler Sicht, keines der beiden Produkte ist in der Lage, zu verspotten statische Methoden (ich musste das tun, für die Prüfung, ohne einen MBeanServer), aber in diesem Fall können Sie mit PowerMock entweder Rahmen.
Ich würde sagen, gehen mit, welcher Stil passt zu Ihrem Test-Anforderungen.
Hoffe, das hilft!
Mockito kann jetzt besser als es war, als ich das Letzte mal versucht, aber es mich verloren, wenn es verändert seine API nicht kompatibel mit früheren Versionen. Upgrade auf die neueste version nötig gewesen wäre, mich zu ändern viele meiner vorhandenen unit-tests, die ich gefunden habe, nicht akzeptabel. Ich beschlossen, es war zu unreif und instabil für meine Bedürfnisse.
Das bedeutet nicht, dass es etwas falsch mit ihm, obwohl. Die version, die ich war mit funktioniert immer noch gut, obwohl, ich habe da wieder eingeschaltet, um EasyMock.
Hier ist ein journalistischer Blick.
Fall für Mockito:
http://code.google.com/p/mockito/wiki/MockitoVSEasyMock
Fall für EasyMock:
http://blog.octo.com/en/easymock-facts-fallacies/