c# - .NET Unit Testing-Pakete?

Translate

Kehren Sie nach einigen Jahren, in denen Sie es nicht in Vollzeit verwendet haben, zu etwas mehr .NET zurück und fragen Sie sich, was die guten Unit-Testing-Pakete heutzutage sind.

Ich bin mit NUnit vertraut (vor ein paar Jahren) und habe kurz mit IronRuby herumgespielt, mit dem Ziel, so etwas wie rspec in Gang zu bringen, aber darüber hinaus weiß ich nicht viel.

Mir ist klar, dass ich dafür googeln und es einen Tag nennen könnte, aber ich glaube, ich werde wahrscheinlich eine bessere und fundiertere Antwort erhalten, wenn ich hier eine Frage stelle :-)

Vorschläge?

This question and all comments follow the "Attribution Required."

Alle Antworten

Translate

Es gibt so viele, dass es verrückt ist. Verrückt gut, denke ich.

  • Für die konservativen Typen (ich),NUnitist immer noch verfügbar und immer noch mehr als fähig.
  • Für die Microsoft-TypenMSTestist ausreichend, aber langsam und klobig im Vergleich zu Nunit. Es fehlt auch die Codeabdeckung, ohne das große Geld für die teuren Versionen von Visual Studio zu bezahlen.
  • Es gibt auchMbUnit. Es ist wie NUnit, hat aber raffinierte Funktionen wie RowTest (denselben Test mit verschiedenen Parametern ausführen) und Rollback (die Datenbank so zurücksetzen, wie Sie sie nach einem Test gefunden haben).
  • Und schlussendlich,xUnit.netist die trendige Option mit einer gewissen Einstellung.
  • Oh undTestDriven.NETbietet Ihnen die IDE-Integration für Nunit und MBunit.

Ich bin sicher, es geht ihnen allen gut. Ich würde mich jedoch von MSTest fernhalten, es sei denn, Sie genießen einfach die Bequemlichkeit, alles in einer IDE zu haben.

Scott Hanselmanhat einen Podcast zu diesem Thema.

Quelle
Translate

Wir verwenden NUnit undMBUnitHier. Wir gebrauchenTestDriven.NETum die Komponententests in Visual Studio auszuführen. Wir verwenden die ausgezeichnete, sehr zu empfehlenRhinoMocksals Scheinrahmen.

Quelle
Translate

Bleib bei NUnit. Gehen Sie nicht in die Nähe von MSTest.

Die Arbeit mit NUnit + ReSharper ist eine absolute Freude.

Quelle
Translate

Früher habe ich NUnit verwendet, jetzt verwende ich MbUnit für zwei Hauptfunktionen: 1. Mit der RowTest-Funktion können Sie auf einfache Weise denselben Test für verschiedene Parametersätze ausführen. Dies ist wichtig, wenn Sie wirklich eine gründliche Abdeckung wünschen. 2. Mit der Rollback-Funktion können Sie Tests für Ihre Datenbank ausführen, während Sie nach jedem Test Änderungen rückgängig machen, sodass Ihre Datenbank jedes Mal in genau demselben Zustand bleibt. Und es ist so einfach wie das Hinzufügen des Attributs [Rollback].

Ein weiterer netter Aspekt von MbUnit ist, dass seine Syntax nahezu identisch mit der von NUnit ist. Wenn Sie also bereits einen ganzen Prüfstand unter NUnit eingerichtet haben, können Sie die Referenzen einfach austauschen, ohne (sehr viel?) Code ändern zu müssen.

Quelle
Translate

xUnit.net bietet anscheinend einen etwas anderen Ansatz für N / MB / MS / Unit, was interessant ist.

Auf meiner Suche nach einer rspec-ähnlichen Lösung (weil ich die rspec LIEBE) bin ich auch auf etwas gestoßenNSpec, was ein bisschen wortreich aussieht, aber kombiniert mit demNSpec-ErweiterungenAddon, um C # 3-Erweiterungsmethoden zu verwenden, sieht es ziemlich gut aus.

Quelle
Douglas Lee
Translate

Ich benutze folgendes:

TestDriven.NET- Unit Testing Add-On für Visual Studio

Typemock Isolator- Verspottungsframework für .Net Unit Testing

NUnit- Ein Open Source Unit Testing Framework in C #.

Quelle
Translate

Dies ist eine alte Frage, aber Sie könnten es interessant finden, dass Gallio v3.1 jetzt RSpec über IronRuby unterstützt.

Quelle
Translate

ich magTestDriven.NET(obwohl ich ReSharper benutze) und ich bin ziemlich zufrieden mitXUnit.net. Es werden Fakten anstelle von Tests verwendet, die viele Menschen nicht mögen, aber ich mag den Unterschied in der Terminologie. Es ist nützlich, sich eine Sammlung automatisch nachweisbarer Fakten über Ihre Software vorzustellen und zu sehen, gegen welche Sie verstoßen, wenn Sie eine Änderung vornehmen.

Beachten Sie, dassVisual Studio 2008 Professional (und höher) verfügt jetzt über integrierte Unit-Tests(Früher war es nur mit den Team System Editions verfügbar) und möglicherweise für Ihre Anforderungen geeignet.

Quelle
Translate

Ich habe ein kleines Beispiel für das Testen einer .net-Bibliothek mit ironRuby erstellt:http://khebbie.dk/post/2008/08/Example-of-using-ironRubys-mini_rspec-library.aspx

Quelle
Translate

Früher habe ich NUnit verwendet, aber ich habe zu MbUnit gewechselt, da es mehr Funktionen hat. Ich liebe RowTest. Damit können Sie Ihre Tests parametrisieren. NUnit bietet jedoch eine etwas bessere Werkzeugunterstützung. Ich verwende ReSharper, um MbUnit-Tests auszuführen. Ich hatte Probleme mit TestDriven.NET, auf dem meine SetUp-Methoden für MbUnit ausgeführt wurden.

Quelle
Translate

Dies ist wirklich eine persönliche Meinung von meiner Seite (ich denke, das ist überflüssig, da es ein Forum ist). NUnit, MSTest, ect alle machen ziemlich dasselbe. NMock finde ich jedoch unverzichtbar.

NMock oder ein verspottetes Paket ist kein Unit-Test, aber es macht es so viel einfacher, Unit-Tests durchzuführen, dass es auch möglich ist.

Quelle
Translate

ich magMbUnitähmGallio. Am wichtigsten für mich ist die gute Unterstützung von Tools in Visual Studio. Dafür benutze ichResharper, die eine hatMbUnit Testläufer. Viele Leute scheinen zu mögenTestDriven.NETals ihr Testläufer auch.

Quelle