2008-08-03 13 views
43

Ich bin auf der Suche nach einem Unit-Test-Framework in den Mix bei meiner Arbeit einzuführen. Wir verwenden Visual Studio 2005 (obwohl wir in den nächsten 6 Monaten vielleicht auf 2008 umziehen werden) und arbeiten hauptsächlich in C#. Wenn das Framework eine Art von IDE-Integration hat, wäre das am besten, aber ich bin offen für Frameworks, die keine Integration haben, aber dennoch relativ einfach einzurichten sind. Ich werde auf die eine oder andere Weise Widerstand dagegen bekommen. Wenn ich also sicherstellen kann, dass ich nicht einen Schmerz im Nacken habe, würde das meinem Fall helfen..NET Testing Framework Beratung

Die offensichtliche Wahl aus der Forschung, die ich bisher gemacht habe, deutet auf nUnit hin, aber ich würde gerne die Eindrücke von jemandem bekommen, der es tatsächlich benutzt hat, bevor ich es meinem Team empfohlen habe.

Hat jemand da draußen nUnit verwendet? Wenn ja, gibt es irgendwelche Fallstricke oder Einschränkungen, denen ich bewusst sein sollte? Gibt es andere gute Möglichkeiten da draußen? Wenn ja, wenn Sie beide nUnit verwendet haben, würde ich eine Vorstellung von den Stärken und Schwächen von ihnen sehr schätzen.

+0

2008. Facepalm. Sie sollten 2010 verwenden, wenn Ihr Upgrade –

Antwort

39

Ich denke NUnitist Ihre beste Wette. Mit TestDriven.NET erhalten Sie eine großartige Integration innerhalb VS.NET. (Resharper hat auch einen Unit Test Runner, wenn Sie ihn benutzen). NUnit es ist einfach zu bedienen und folgt einem etablierten Paradigma. Sie werden auch viele Projekte/Tutorials/Guides finden, die es immer helfen.

Ihre andere Hauptwahl ist wahrscheinlich MBUnit, die sich mehr und mehr als BDD Framework der Wahl positioniert (in Verbindung mit Gallio http://www.gallio.org).

16

Scott Hanselman hatte einen guten Podcast darüber, mit dem Titel:

"Vergangenheit, Gegenwart und Zukunft von .NET Unit Testing Frameworks"

:

Hanselminutes #112

+3

Das war ein Geld Podcast. Es hebt alle wichtigen Unit-Test-Frameworks hervor. Ich habe angefangen, xUnit zu benutzen, wegen dem, was ich in dieser Pod-Besetzung gehört habe. –

6

Visual Studio 2008 hat einen Testprojekttyp gebaut, die NUnit in ähnlicher Art und Weise funktioniert, aber offensichtlich hat viele engere Integration mit Visual Studio (kann auf jedem Build ausgeführt und zeigt die Ergebnisse in einer ähnlichen Art und Weise der Umwandlung Ergebnisseite bei der Aktualisierung Lösungsdateien), aber es ist offensichtlich nicht so ausgereift wie NUnit, da es ziemlich neu ist und ich bin mir nicht sicher, wie es mit dem Spotten umgehen soll.

Aber es wäre lohnt ein Blick in sein, wenn Ihr Team bewegt sich auf VS2008

4

mbUnit wert alook ist, hat es eine Reihe von Features, vergleichbar mit NUnit hat, hat es seine eigene GUI, oder kann in VS, wenn Sie integrieren haben Resharper. Ich würde auch empfehlen Rhino Mocks, wenn Sie irgendeine Art von TDD tun.

3

Ich würde sagen, mbUnit auch, ich mag es, einen einzigen Test viele Male nur durch Angabe von Eingaben und Ergebnis direkt über der Testfunktion ausführen zu können. Horrible Beschreibung dessen, was ich meine, so here is a link that shows you what I mean.

5

Als ich Unit-Tests gestartet begann ich mit NUnit als es einfach einzurichten und zu verwenden ist, zur Zeit ich die in Test Läufer, bin mit, die mit Resharper kommt, so kann ich leicht Wechsel zwischen Code und Testergebnissen. Zufällig NUnit erkennt, wenn Sie Ihren Code kompiliert haben, so dass Sie keine Aktualisierung in NUnit durchführen müssen. Resharper erstellt automatisch einen Build, wenn Sie einen bestimmten Test ausführen möchten.

8

Die in VS 2008 in Unit-Tests gebaut ist in Ordnung, aber es ist schwierig, mit CruiseControl.net, sicherlich viel schwieriger als normalen NUnit zu integrieren.

So gehen Sie mit NUnit, wenn Sie planen, schöne automatisierte Tests zu haben.

6

Wir haben xUnit.net verwendet. Es scheint das Beste aus nUnit, mbUnit und MSTest zu kombinieren.

+0

Ich bedauere sehr die verschwendete Zeit, es nicht versucht zu haben, bevor ich wechselte. –

5

Versuchen Sie auch PEX Werkzeug Es Microsofts eigene wahrscheinlich bald in VSTS integriert werden und macht Unterstützung NUnit, MbUnit und xUnit.net

ich zum Testen einer Klasse oder kleine Bibliothek auch kleine Konsole-Anwendung verwenden. Sie könnten den Code kopieren von here

4

VSTT 2010 sollte eine gute Wette sein, wenn Sie für die funktionale Testautomatisierung suchen. Web Services Testing, UI Testen, BizTalk-Tests und Data Driven Testing Support. Bitte schauen Sie sich VSTT