MOCKITO: Was ist das und wie unterscheidet es sich von Junit
Ich will wissen, was Mockito?
Unterstützt Junit oder ist es eine Umgebung für das schreiben von Junit-Testfälle?
Kann jemand bitte erklären Sie mir den Unterschied zwischen Junit und Mockito?
Ist nicht deine Frage erklärt in mockito.org? Wenn nicht als spezifischer werden.
InformationsquelleAutor Random | 2016-08-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
JUnit ist ein framework, das hilft, die mit dem schreiben und ausführen von unit-tests.
Mockito (oder jede andere mocking-tool) ist ein framework, die Sie verwenden speziell zum effizienten schreiben von bestimmten Art von tests.
Einen Kern-Aspekt in unit-Tests ist die Tatsache, dass Sie isolieren möchten, um Ihre "class under test" von allem, was sonst in der Welt. Um dies zu tun, Sie haben sehr oft die Erstellung von "test doubles", die Sie auf ein Objekt Ihrer Klasse "class under test". Sie könnten all diese "test doubles" manuell", oder Sie verwenden ein mocking-framework, das generiert Objekt von einer bestimmten Klasse mit der spiegelung Techniken. Interessanterweise befürworten manche die nie verwenden mocking frameworks; aber mal ehrlich: ich kann mir nicht vorstellen, das zu tun.
In anderen Worten: Sie können auf jeden Fall nutzen JUnit, ohne die Verwendung eines mocking-Frameworks. Gleiches gilt für die umgekehrte Richtung; aber in Wirklichkeit gibt es nicht viele gute Gründe,, warum würden Sie wollen, um Mockito für etwas anderes, aber das Gerät testen.
Erste, was zu verstehen: diese werden verschiedene Produkte. Neben der Tatsache, dass Sie in der Regel zusammen verwendet werden, werden alle diese "Dinge" sind unabhängig von einander. Damit nicht jeder andere. Aber wirklich: das ist nicht etwas, Sie sollten sich Fragen: biegen Sie auf die home-Seiten für jedes dieser Produkte, und Lesen Sie deren Dokumentation. Verlassen Sie sich nicht auf den Menschen zu erklären, dass Sie Sachen, die dokumentiert ist in plain sight.
Ich bin einer von denen, die befürworten, zu vermeiden Sie die Verwendung von mocking-libraries (obwohl ich entwickeln!). Nach vielen Jahren der Erfahrung, erkannte ich, dass es in der Regel führt zu schlechten tests. Die Menschen haben eine starke Tendenz zu übermäßiger Gebrauch/Missbrauch/missbräuchliche Verwendung der Spott-tool. Stattdessen habe ich lieber Integrations-tests. Interessanterweise bekannte "gurus" (einschließlich der "Schöpfer" von TDD -) weiß auch nicht wie Spott; Sie schreiben nicht isolierte unit-tests - Referenz finden Sie unter diesem Artikel.
Ich glaube, ich bin irgendwie auf dem Mittelweg hier. Ich bevorzuge absolut unit-tests (in der engeren definition) nicht erforderlich spöttisch. Denn der test ist einfach viel eleganter aus; und wissen Sie, angeben das Verhalten eines mock -, der über die Prüfung der internen Implementierung der Klasse unter test. Aber: viele von den core-Klassen/ - Objekte in unserem Produkt nur vernünftig funktionieren, wenn unsere gesamte Produktpalette läuft. Wenn ich etwas von dort, habe ich zwei Möglichkeiten: verwenden Sie verspotten; oder gehen Sie für einige der "functional test", dauert es bei mir 10 Minuten zu bereiten und das ist harter ausführen ...
und das ist fast unmöglich zu automatisieren, weil wir keine guten Mittel für die Automatisierung von funktionalen tests. Also, tun Sie die Mathematik, welche der beiden Optionen bietet mir schneller feedback?!
InformationsquelleAutor GhostCat
JUnit ist die Java-Bibliothek zum schreiben von tests (bietet Unterstützung für das ausführen von tests und verschiedenen zusätzlichen "Helfern", wie setup-und teardown-Methoden, test-sets, etc.).
Mockito ist eine Bibliothek, die erlaubt das schreiben von tests mithilfe der Spott Ansatz.
Sehen hier ein schöner Artikel auf Spott gegen nicht Spott tests: http://martinfowler.com/articles/mocksArentStubs.html
InformationsquelleAutor Alexandru Marina