Ich verwende Visual Studio (manchmal Resharper), um meinen Komponententest auszuführen.
Ich habe von NUnit gehört, aber ich weiß nicht viel darüber ...
Sollte es mich interessieren? Kann es etwas Besseres bieten als Visual Studio?
Soll ich NUnit verwenden und warum?
Antworten:
NUnit hat gegenüber MS-Test nur wenige Vorteile
Assert.AreEqual(expected, actual)
vsAssert.That(actual, Is.EqualTo(expected))
[TestCase]
! NUnit ermöglicht parametrisierte Tests.quelle
Aus meiner heutigen Sicht (nach 8 Monaten der Entwicklung mit etwa 10 Entwicklern im Durchschnitt) rate ich würde gegen mit MSTest aus den folgenden Gründen
Mit anderen Worten, wenn ich mich vor 8 Monaten erneut entscheiden müsste, würde ich wahrscheinlich NUnit nehmen. Ich habe möglicherweise nicht den integrierten Testergebnisbericht, aber Entwickler hätten eine nahtlosere Testerfahrung.
quelle
Hier ist meine Erfahrung mit MS Test
Ergänzung: Wir haben jetzt noch einige Tests, können nicht einmal sagen, wie viele. Aufgrund von OutOfMemoryExceptions und anderen Instabilitätsproblemen können sie nicht mehr alle in Visual Studio ausgeführt werden. Wir führen die Tests über Skripte aus. Es wäre einfach, Testergebnisse in Visual Studio anzuzeigen, aber wenn die Lösung geöffnet ist, stürzt VS (jedes Mal) ab. Wir müssen also die fehlgeschlagenen Tests mithilfe der Textsuche durchsuchen. Ein integriertes Tool hat keinen Vorteil mehr.
Ein weiteres Update : Wir verwenden jetzt VS 2013. Viele Dinge haben sich geändert. Sie haben den MS Test Test Runner zum dritten Mal seit unserem Start neu geschrieben. Dies verursachte viele bahnbrechende Änderungen, aber keine der neuen Versionen machte etwas besseres. Wir sind froh, dass wir die ausgefallenen Funktionen von MS Test nicht verwendet haben, da sie nicht mehr unterstützt werden. Es ist wirklich eine Schande. Wir verwenden immer noch Skripte, um alle Komponententests zu erstellen und auszuführen, da dies einfacher ist. Visual Studio benötigte einige Minuten, um Tests auszuführen (Zeitmessungen nach der Kompilierung bis zum ersten Teststart). Sie beheben es wahrscheinlich mit einem Update und dies könnte ein spezifisches Problem unseres Projekts sein. Resharper ist jedoch viel schneller, wenn dieselben Tests ausgeführt werden.
Schlussfolgerung : Zumindest in Kombination mit Resharper ist MS Test nützlich. Und ich hoffe, dass sie endlich herausfinden, wie der Testläufer geschrieben werden soll, und diese Art von Änderungen nicht vornehmen, wenn wir Visual Studio das nächste Mal aktualisieren.
quelle
NUnit kann in Kombination mit Visual Studio verwendet werden. Es ist ein Rahmen, kein separates Programm. Sie könnten sich also darum kümmern, ob es zu Ihnen passt :).
Alternativtext http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=nunitit&DownloadId=61802
"Nach der Installation des Plugins finden Sie ein neues Untermenü unter dem Menü Extras."
Siehe http://nunitit.codeplex.com/ für weitere Informationen über sie zu importieren.
Auch bei der Suche nach SO kann viel gefunden werden. In diesem Thema werden beispielsweise die Vorteile von NUnit gegenüber MS-Standardtests aufgeführt.
quelle
Der größte Vorteil von MS-Test gegenüber NUnit ist, dass MS-Test mithilfe von Reflection Scheinobjekte generieren kann. Ich fand es sehr nützlich
quelle
NUnit arbeitet mit der Standard Edition von VS.
quelle
Ich bin mir anderer nicht sicher, aber NUnit bietet eine schöne GUI und Konsole zum Ausführen Ihrer Unit-Tests. Außerdem können Sie einen Bericht über das Ergebnis der Ausführung des NUnit-Tests erstellen, der detailliert angibt, ob der Test fehlgeschlagen oder bestanden wurde und wann er durchgeführt wurde Nehmen Sie für Ihren Unit-Test
quelle
NUnit ist ein Unit-Testing-Framework, das auch von Resharper unterstützt wird. Ich denke, Sie verwenden das Unit-Testing-Framework von Microsoft, daher ist NUnit nur eine Alternative zum Microsoft-Produkt;)
Hier ist der Link zur Homepage von NUnit: http://nunit.org
quelle
In NUnit werden Tests nicht parallel ausgeführt. Es scheint vielmehr, dass alle Tests in einem einzigen Thread ausgeführt werden. In MSTest wird jeder Test in einem separaten Thread instanziiert. Dies führt dazu, dass die Läufe verschachtelt werden. Wenn Test A für seinen Erfolg von Test B abhängt, schlägt er wahrscheinlich fehl, da Test B wahrscheinlich ausgeführt wird, während Test A ausgeführt wird.
quelle
Wenn Sie Visual Studio verwenden, müssen Sie NUnit für Unit-Tests verwenden, und wenn Sie Java (Netbeans) ausführen, müssen Sie JUnit für Unit-Tests verwenden.
Hier ist ein Beispiel für einen einfachen Taschenrechner-Unit-Test
quelle