Frage

Ich versuche zu entscheiden, ob ich Cuke4Nuke oder SpecFlow verwenden sollte. Was sind die Pro / Nachteile der einzelnen? Stellungnahmen, zu denen ist besser und warum.

Danke!

War es hilfreich?

Lösung

(Ich könnte voreingenommen sein, weil ich mit SpecFlow beteiligt bin, aber hier meine Gedanken ...)

Cuke4Nuke ist sehr nah an Gurke. Dies verspricht eine Menge Vorteile:

  • Kompatibilität
  • Erste neue Features aus Gurke, wenn Gurke entwickelt sich (zumindest in der Theorie, aber Sprachunterstützung ein Beispiel dafür ist)
  • Als ein Realteil der Gurke Gemeinschaft und die Gurke Ökosystem

Allerdings kommt dies auch mit einigen möglichen Nachteilen:

  • Ruby ist eine Notwendigkeit
  • Seit mehr Infrastruktur (Rubin, Wire-Protocol, Kommandozeilen-Integration ...) beteiligt ist, die Komplexität der Gesamtlösung steigt, und die Chancen, dass etwas in der Kette Anstieg versagt
  • Debuggen ist möglich, aber ein bisschen ein Aufwand
  • Szenarien auf der DOS-Kommandozeile Laufen ist einfach nur hässlich, und ich habe immer noch Probleme mit einigen Zeichen (Umlaut). Die Lösungen von Gurken haben nicht funktioniert für cuke4nuke in meinem Fall.
  • Integration mit dem kontinuierlichen Build ist etwas, das Sie für sich selbst arbeiten, haben

SpecFlow ist ein eigenständiges Projekt von Gurken. Es wird versucht, so nahe Gurke wie möglich zu sein, aber es gibt und Lücken sein. Es gibt Pläne, die gleichen Parser wie Gurke zu verwenden, Kompatibilität auf dem Sprachniveau zu verbessern.

SpecFlow versucht die folgenden Vorteile zu bieten:

  • Eine reine .NET-Lösung (also keine Installation von Ruby ist notwendig und Ruby wird zur Laufzeit nicht beteiligt)
  • Es ist eine grundlegende Integration mit Visual Studio (und es gibt Pläne, diese zu entwickeln)
  • Szenarien sind im Grunde Unittests und können mit Ihrer vorhandenen Infrastruktur (NUnit.Runners, ReSharper, Visual Studio MSTest Integration ...)
  • ausgeführt werden
  • Szenarien und Schritte leicht sind debug aus Visual Studio (nur ein Haltepunkt)
  • Integration in Ihrer kontinuierlichen Build sollte ein Kinderspiel sein, da die Infrastruktureinheit-Tests auszuführen ist sicherlich bereits

Als Nachteile der SpecFlow Ich sehe zur Zeit:

  • Es ist nicht so viele Sprachen wie Gurken unterstützt
  • Zur Zeit gibt es einen „Code-Generierung“ Schritt beteiligt. Dies ist transparent, wenn Visual Studio verwendet wird, und es ist ein Kommandozeile dies ohne Visual Studio zu tun, aber eine Menge Leute nicht wie Code-Generation.
  • Zur Zeit gibt es keine explizite Kommandozeilen Läufer für SpecFlow. Allerdings können Sie Ihre Unit-Test Kommandozeile Läufer verwenden.
  • SpecFlow hängt von einem Unit-Test-Framework und zur Zeit nur NUnit und MSTest wird unterstützt
  • in SpecFlow Berichterstattung ist noch nicht sehr anspruchsvoll. Gurke nicht bieten mehr Optionen, aber ich weiß nicht, ob sie alle sind in cuke4nuke ...

Andere Tipps

jbandi gibt eine gute Zusammenfassung. Ich die Frage beantworten, in der gleichen Weise (mit dem anderen Haftungsausschlüssen für Bias, natürlich).

Das Ziel für Cuke4Nuke ist voll Cucumber Kompatibilität in .NET, während so wenig Gurke Code wie möglich zu duplizieren. Daher einige der Kompromisse hervorgehoben-z. Ruby abhängigkeits sind auf das Werkzeug inhärent. Andere, wie Fehler in der Sprache und Formatierungsprogramm Unterstützung und beschränken Debugging-Unterstützung, sind temporäre Probleme und werden mit zukünftigen Versionen gehen weg.

Ich habe in ein paar Probleme laufen, wo Cuke4Nuke nicht ganz wie Gurke funktioniert. Aber wie ich in erster Linie auf Englisch arbeiten, sehe ich nicht, die sprachbezogenen Fragen in meiner normalen Arbeit. Ich würde Schritte begrüßt eines dieser Probleme zu reproduzieren, damit ich sie beheben kann. (Bitte senden Sie sie die Cuke4Nuke Problemliste , nicht hier.)

Eine weitere stark voreingenommen Meinung: Versuchen Sie StoryQ :)

StoryQ Tests sind tatsächlich Code, so dass Sie viel besser Refactoring / IDE-Unterstützung, und es bettet in Ihrem vorhandenen Unit-Test-Läufer, so CI ein Kinderspiel ist.

Es ist wahrscheinlich eine Frage der Präferenz, ob Sie lieber im Klartext-Funktionen oder übersetzbaren Code überprüfen würden. Aber für uns fanden wir, dass es wirklich schön war in der Lage sein, narrative Methoden umbenennen und haben alle die Geschichten aktualisieren sich.

Es gibt tatsächlich eine GUI zur Verfügung gestellt, dass Klartext-Szenarien in StoryQ Code für Sie konvertieren, wenn Sie bereits eine Investition in Klartext-Szenarien haben oder wenn Sie die Tastatur, um Ihr Unternehmen Menschen geben möchten. Es ist sogar eine einfache Form von Intellisense bekommen!

Probieren Sie es aus, wenn Sie einen ultraleichten Einstieg in BDD wollen:)

Eine andere voreingenommen Antwort:. StorEvil eats alle anderen .NET-BDD-Tools

Vorteile :. StorEvil hat seinen eigenen Befehlszeilen Läufer, hat schönen Reporting (mit der Spark-Ansicht-Engine), und hat die beste plaintext-> C # Übersetzung und Ausführungs-Engine

Außerdem hat es 100% mehr Übel als jede andere Lösung.

Nachteile : StorEvil nicht vollständig andere menschliche Sprachen unterstützen (außer Englisch). StorEvil Visual Studio-Integration ist noch nicht so schön wie die anderen Werkzeuge. StorEvil wird alle Biere im Kühlschrank trinken, wenn Sie auf sie nicht im Auge behalten.

ich von Richard verstehen, dass er nicht weiter Cuke4Nuke beabsichtigt und unterstützt einige der Cuk4Nuke Umzug in SpecFlow verfügt. So ist die klare Antwort jetzt ist SpecFlow.

Ich begann mit Cuke4Nuke haben, aber da zu SpecFlow deser (sorry Richard; -)

Die Hauptgründe für mich, dass der Übergang zu machen waren:

  • hat SpecFlow schöne VS2010-Integration für Syntax von Funktionen hervorheben. Es ist ein Projekt, das Cuke4VS Angebot ähnlich, aber es hat nicht über nicht VS2010 Unterstützung (oder auch nicht, wenn ich die letzte Mal sowieso sehe, die ziemlich neu war)
  • fand ich Tests in SpecFlow Debuggen leichter zu sein (fragen Sie mich nicht zu erarbeiten, es schien nur so ...; -)
  • Cuke4Nuke benötigt Rubin. Ich war OK mit, dass aber die meisten der C # Devs ich durch nicht zu MS-Produkte erhalten verunsichert wissen, Rubin im Besonderen.

Es gibt einige Probleme mit Specflow / Dinge, Ich mag besser in der Gurke / Cuke4Nuke Welt:

  • Specflow Dokumentation ist ziemlich ‚Lite‘ - Sie hart arbeiten vorbereitet werden müssen Informationen aus Gurke Quellen zu sammeln und ein wenig erahnen, wie sie auf Specflow anzuwenden. Dass sagte ich und einige andere haben Entwürfe auf die Dokumentation beefing, so dass in den nächsten Monaten verbessern kann beschlagen.
  • Ich ziehe den Erfahrungen der laufenden Cucumber / Cuke4Nuke Tests auf der Kommandozeile mit ihren Ausgang der Farbszenarien codiert nach Status (Ich weiß, dass jemand über diese als negativ sieht so ich denke, es hängt davon, ob Sie ein Befehl sind Linie Art von Kerl ...)
  • Die Gurke Gemeinschaft ist größer und es gibt mehr Aktivität scheint es, die (möglicherweise), um mehr Menschen übersetzt da draußen zu helfen.

Alles in allem hat beiden Potenzial, die Art, wie wir Software schreiben zu verbessern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top