VS 2013 MSTest vs nUnit vs xUnit
Merke ich, es sind schon VIELE Fragen zu diesem Thema, aber irgendwie habe ich noch nicht gefunden, dass an meine Bedürfnisse.
Mein team ist auf der Suche, um start automatisierte Unit Tests unsere Anwendung. Wir haben es nie getan, bevor und niemand im team hat viel Erfahrung mit. Ich bin gebeten worden, um Forschung und finden Sie ein framework für die Automatisierung unserer Unit-Tests. So weit, ich habe es verengt die Auswahlmöglichkeiten zu MSTest, NUnit und xUnit.
Alle über das internet, ich lese die negativen Bewertungen über MSTest, aber es scheint das bequemste tool, um mir für unseren Zweck.
1) Unsere Anwendung ist .NET
2) Wir verwenden lizenzierte VS IDE für unsere Entwicklung in der Mannschaft.
3) Source Control Team Foundation Server 2010
4) Wir planen, integrieren, CI/CD als Teil unseres software-Entwicklungsprozesses.
Ich das Gefühl, dass MSTest integriert sich direkt in das setup und bietet die sauberste Schnittstelle für uns zu arbeiten. Gibt es einen nennenswerten Vorteil mit NUnit oder xUnit über MSTest, die wir berücksichtigen sollten?
Mögliche Duplikate von Visual Studio 2013 MSTest vs NUnit
InformationsquelleAutor Nakul Shukla | 2016-06-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bin ich voreingenommen, weil ich die Arbeit an NUnit, aber der Vorteil von NUnit oder xUnit ist, dass beide frameworks bieten mehr Funktionalität wie data driven tests, parallel-Ausführung und eine Vielzahl von erweiterten Funktionen.
Sagte, es ist nichts falsch mit MSTest-vor allem, wenn Ihr team nicht sehr erfahren mit unit Tests. Es ist auch integriert mit Visual Studio und TFS, so dass das hinzufügen von tests, die ist ziemlich schmerzlos. Beide NUnit und xUnit Integration auch gut, aber Sie kann verlangen, mehr setup.
Gehen Sie vor und starten mit MSTest. Es ist eine einfache Einführung in unit-Tests. Wenn Sie anfangen zu laufen in einige der Einschränkungen von MSTest, dann ist es eine ziemlich einfache migration zu NUnit oder xUnit. Für einfache Fälle ist es nur eine Frage der änderung Ihrer NuGet-Pakete und dann suchen/ersetzen Sie die Attribute.
Wenn es um die Wahl zwischen xUnit und NUnit, beide sind eine gute Wahl, aber jeder hat eine andere Philosophie. NUnit neigt dazu, flexibler zu sein und ermöglicht eine Reihe von Tests und Stile können verwendet werden, für die Integrations-tests. Es ist jedoch flexibel genug, um Ihnen zu erlauben zu Schießen selbst in den Fuß und ermöglicht es Ihnen zu schreiben tests, die Puristen würden Stirnrunzeln. NUnit lässt die Wahl bis zu Ihnen.
xUnit aber neigt dazu, ein bisschen mehr rechthaberisch und schiebt Sie in Richtung 'Grube des Erfolgs" mit unit-Tests. In meiner Erfahrung ist es ideal für green-field-Projekten, aber es kann machen Sie den Test einige schlecht konzipiert-brown-field-Projekte schwierig, ohne refactoring.
In das Ende, Sie können nicht schief gehen mit diesen test-frameworks.
2000? lol @Charlie, wow!
Einen interessanten Beitrag für xUnit - github.com/xunit/xunit/issues/350. Assertion-Fehlermeldung ist verschwunden und wird nicht wieder kommen in xUnit. Wenn ich sehe, Sie schließen das Problem, es ist zwar noch umstritten, wie das geht, ich bin nicht sicher, ob ich glauben für Ihre zukünftige Entwicklung. Wie könnten wir wissen, dass Sie nicht entfernen alles andere aus Gründen der "Reinheit" wieder?
Ist das nicht einer der Punkte, der das schreiben von tests umgestalten, schlecht konzipiert-code?
Ja, aber wenn Sie nicht schreiben können die tests ohne refactoring Erstens, du bist Art stecken 😉
InformationsquelleAutor Rob Prouse
Möchte ich hinzufügen, ein negativer Aspekt der XUnit.
Es hat nicht einmal eine grundlegende Dokumentation, nichts über "Get Started". Keine API, nichts.
InformationsquelleAutor newprint
Hier ist eine kurze Analyse der 3 Frameworks und geordnet von Farbe.
Legende von der Färbung:
MSTest es ist nur gut, weil es ist einfach und integriert sich in Visual Studio, und es kommt von Microsoft. Seine nicht flexibel genug und nicht sehr dehnbar. Aber mehr als nur ein unit test framework, es unterstützt auch die Integration-tests, Web - (Last) - performance-tests. Die anderen 2 sind Reine Unit-Test-Frameworks. Also ich würde sagen, MSTest ist "Jack of all Trades, Master of none."
NUnit ist meine Wahl, weil Ihr seit die besten, durchweg lange genug. Es ist flexibler und einfacher mit sehr guten user-base, Dokumentation und community-support.
XUnit ist zumindest meine Wahl, denn es folgt einem etwas anderen Stil und ich persönlich sehe nicht viel Vorteil über NUnit. In einigen Fällen müssen Sie einige refactoring Ihres Codes, um fit in den test-Fällen. Aber das ist nur meine Meinung, da gibt es viele, die lieber XUnit.
InformationsquelleAutor Habeeb