2009-09-01 13 views
6

Was sind die Unterschiede zwischen der Verwendung eines VS integrierten Tools wie Testdriven.net oder einem GUI Test Runner wie Icarus oder NUnit GUI?Gallio Icarus vs. Testdriven.net

Was bevorzugen Sie und warum?

Bis jetzt habe ich festgestellt, dass Berichte in Icarus besser sind als in td.net, das nur eine Befehlszeilenausgabe bietet. Aber td.net ist schneller zu verwenden, ich kann einzelne Tests einfacher durchführen, ohne den Rest zuerst zu deaktivieren. Die NCover-Integration ist auch sehr nett.

Antwort

8

Icarus hat eine großartige Funktion, die mich daran hindert, es zu benutzen. Es ist das automatische Nachladen und erneute Ausführen von Tests.

Ich halte Icarus über den linken Monitor schweben. Jedes Mal, wenn ich Visual Studio erstelle, lädt Icarus die Assemblys neu und führt alle Tests aus. Es ähnelt der sofortigen Rückmeldung von Resharpers Solution Analysis, abgesehen von Tests anstelle von Syntax. Das Ausführen der Tests erfolgt automatisch und scheint die Leistung von Visual Studio nicht zu beeinträchtigen (wahrscheinlich ist Icarus ein eigener Prozess, der nicht in der IDE gehostet wird).

Um diese Konfiguration zu aktivieren, gehen Sie zu Icarus-> Optionen-> Test Explorer. Aktivieren Sie "Dateien immer neu laden" und "Tests nach dem erneuten Laden ausführen".

+0

Ja, ich auch Digg das. Ach, meine Frage, ob td.Net irgendeinen Vorteil bringt. –

+0

Bei der Verteidigung von TD.Net werden Builds als Teil von laufenden Unit Tests ausgeführt, ohne dass die Bildschirmfläche belegt wird. – GregC

+0

Was wirklich cool ist, ist eine Funktion, um relevante Komponententests erneut auszuführen, wenn Sie Code in Visual Studio bearbeiten. Aber wie definieren Sie dann "relevant"? – GregC

3

Verfügen Sie über einen Continuous Integration-Server (wie ein Build-Server, aber führt Unit-Tests aus)?

Wenn dies der Fall ist, können Sie gallio so einrichten, dass die Komponententests ausgeführt werden und alle Berichtsinformationen zur Verfügung stehen, während die Entwickler während der Arbeit etwas schnelleres Feedback verwenden können.

Wenn es keine Option gibt, bevorzuge ich etwas, das wie Testdrvien in die IDE integriert ist. Die sofortige Rückmeldung ist sehr hilfreich, wenn Sie einen Code neu gestalten oder etwas Neues unter TDD entwickeln. Außerdem, wenn Sie nicht die Überprüfung der Gesundheit an einem einzigen Punkt (wie ein CI-Server) gehen müssen, werden Sie so viele Augen wollen, wie Sie auf diesen Komponententests finden können. Entwickler neigen dazu, das zu verwenden, was am einfachsten ist, und im Allgemeinen ist eine integrierte Testsuite einfacher als eine separate Komponente.

+0

ich bin ein einzelner Entwickler, also ist die Verwendung eines ci-Servers nicht notwendig für mich. Eigentlich habe ich einen, hovewer im es nur für Metriken und dergleichen (und natürlich zum Spaß) verwenden –

+0

@Johannes Rudolph Wenn ein CI-Server übertrieben ist, könnten Sie immer noch Build-Skripte haben. Rake lässt sich sehr einfach über die Befehlszeile einrichten und ausführen, wenn Sie Messwerte wünschen. Hier ist die Ressource, mit der ich für Rake angefangen habe. http://www.tobinharris.com/past/2008/11/4/getting-started-with-rake-on-net/ –