Dies ist ein Auszug aus dem Unit Testing Succinctly eBook von Marc Clifton, freundlicherweise von Syncfusion zur Verfügung gestellt.
Ursprünglich wurde NUnit von JUnit als Open-Source-Unit-Test-Engine portiert, die eine umfassende Suite von Test-Fixture-, Methoden- und Variablenattributen sowie Testassertionen bereitstellt. Die Dokumentation für alle Versionen von NUnit finden Sie hier. NUnit wird noch gepflegt. Die aktuellste stabile Veröffentlichung zum Zeitpunkt dieses Schreibens ist Version 2.6.2, veröffentlicht am 22. Oktober 2012.
CSUnit ist ein Unit-Test-Motor mit geringerem Gewicht. Beachten Sie, dass es nicht gepflegt zu sein scheint, da die letzte Version im März 2009 war. Es bietet einen minimalen, aber funktionalen Satz von Attributen, der zum Definieren von Test-Fixtures und Testmethoden verwendet werden kann.
Visual Studio bietet die Möglichkeit, Testprojekte direkt in der IDE zu erstellen. Der Autor stellte fest, dass sich die Benutzeroberfläche zwischen VS 2008 und VS 2012 geändert hat:
In VS2008 wird der Testlauf sehr schnell ausgeführt und zeigt eine leicht lesbare Liste der Testergebnisse sowie bei fehlgeschlagenen Tests die Fehlernachricht an, aus der hervorgeht, warum der Test fehlgeschlagen ist.
Wenn das Testprojekt das aktive Projekt ist, ist das Ausführen der Tests (oder das Debuggen) dasselbe wie bei jeder anderen Anwendung. Sie können sie auch mit Strg + F5 (Ausführen) oder F5 (Debuggen) ausführen..
In VS2012 benötigt der Testläufer einige Sekunden zur Initialisierung. Schlimmer noch, die Nachrichten, die einem Testergebnis zugeordnet sind, werden erhalten Klicken Sie auf den Fehler. Die zusätzliche Klickanforderung ist ein erhebliches Usability-Problem. Aufgrund der Änderungen bei der Anzeige von Fehlern wurde in diesem Buch Visual Studio 2008 für Screenshots verwendet.
Schließlich wird der Testläufer nicht mehr über dieselben Tastenkombinationen wie eine normale Anwendung gestartet. Stattdessen muss der Entwickler Strg + R, A verwenden, um die Tests auszuführen. Es gibt keine Tastenkombination zum Debuggen der Komponententests.
Microsoft stellt Integrationstools für NUnit sowohl für Visual Studio 2010 (http://visualstudiogallery.msdn.microsoft.com/c8164c71-0836-4471-80ce-633383031099) als auch für 2012 (http://visualstudiogallery.msdn.microsoft.com/6ab922d0) bereit -21c0-4f06-ab5f-4ecd1fe7175d), obwohl der NUnit-Testadapter von Visual Studio 2012 zu diesem Zeitpunkt eine Betaversion 3-2 ist.
Es gibt noch einige andere Testmotoren, die es wert sind, erwähnt zu werden.
MSTest (http://msdn.microsoft.com/de-de/library/ms182489 ist die Befehlszeilenversion von Microsofts Testrunner.
MbUnit und Gallio sind eng miteinander verbunden. Gallio ist eine Testautomatisierungsplattform, mit der Sie verschiedene Test-Frameworks und Berichtstools integrieren können. Dies ist ein ausgeklügeltes Werkzeug, das es wert ist, erkundet zu werden, sobald Sie mit den Prinzipien des Komponententests und anderen Motoren vertraut sind.
Microsoft Test Manager ist ein Tool zum manuellen oder automatischen Planen, Verwalten und Ausführen von Tests. Microsoft Test Manager integriert die Fehlerverfolgung, ermöglicht das Schreiben von Notizen zu Ihren Tests und ermöglicht das Konfigurieren von virtuellen Laborgeräten, die vor dem Ausführen von Tests in einen bekannten Status zurückgesetzt werden können.
FsUnit ist eine Test-Engine, die das Arbeiten mit der Sprache F # erleichtert.
Unit-Tests dienen zur Überprüfung der Korrektheit von rechnerischen Code-Einheiten. Integrationstests dienen dazu, das Verhalten der Benutzeroberfläche zu testen.
Für Leser, die mit Ruby vertraut sind, ist NBehave ein früher Prototyp ähnlicher Merkmale wie Cucumber, in dem Verhaltenstests geschrieben werden. Tests werden beispielsweise in natürlicher Sprache geschrieben (beide Beispiele stammen von der GitHub NBehave-Website):
Szenario: Login, da ich nicht angemeldet bin Wenn ich mich als Morgan mit einem Passwort SecretPassw0rd einloggen Dann sollte ich die Meldung "Willkommen, Morgan!"
und Methoden implementieren die Phrasen (die natürlich wiederverwendet werden können):
[Gegeben ("Ich bin nicht angemeldet")] public void LogOut () …
Beachten Sie, dass es sich nicht um Unit-Tests handelt, sondern um ein Paradigma mit dem Namen Behavior-Driven Development zu erleichtern. Es wird hier erwähnt, um andere Testformen zu veranschaulichen, die Unit-Tests ergänzen.