2009-05-11 9 views
1

Ich suchte im Internet nach einer benutzerdefinierten NUnit MSBuild Aufgabe, die auf jedem Build ausgeführt werden würde und auch schön mit Visual Studio UI (2008 ist meine Version). Ich fand das MSBuild.Community.Tasks-Projekt, das großartig war, aber in Visual Studio-Integration fehlschlug. Was ich eigentlich haben wollte, ist, dass fehlgeschlagene Tests als Warnungen/Fehler im VS-Fehlerlistenfenster angezeigt werden (und auch FAILED-Projektaufbau, wenn Tests nicht erfolgreich sind). Also schrieb ich meine eigene benutzerdefinierte MSBuild-Aufgabe, die den Job genau so ausführt, wie ich es wollte.Visual Studio integrierte benutzerdefinierte MSBuild Aufgabenverhalten

ABER.

Das einzige Problem, das ich habe, ist, dass normale VS UI Fehlerliste Verhalten ist, dass, wenn Sie auf einen Fehler klicken, springt die entsprechende Quelldatei und Highlights der problematische Code. Ich war in der Lage, die Datei- und Zeilennummer mit fehlgeschlagenem Test in Beziehung zu setzen, aber ich war nicht in der Lage, Visual Studio zu HIGHLIGHT-Problemcode für mich zu überreden (wenn ich auf den Fehler doppelklicke). Alles, was ich bekomme, ist der Cursor an der richtigen Stelle. Ich versuchte alle Arten von Kombinationen von line, , column, endColumn Methode Parameter (Log.LogError()), aber ohne Erfolg. Und basierend auf der Fehlerausgabe durch Compilerfehler sieht es so aus, als ob es auch nur Zeile und Spalte (keine Endwerte) liefert.

Jeder lief gegen diese Kuriosität und löste es?

-Update 13. Mai 2009
Sie können kostenlos dieses Projekt erhalten (ohne Auswahlmethode) bei
http://code.google.com/p/nunitmsbuildvsintegrated/

+0

Ich verstehe Ihre Frustration und ich wünsche, dass ich die Antwort hatte. Ich habe mit genau diesem Problem gekämpft. Allerdings bin ich nicht so weit gekommen wie du. Hoffentlich kann jemand einen Einblick geben. – kevindaub

+0

+1 Für die nützliche MSBuild-Aufgabe. – Ergwun

Antwort

1

Für diese Funktion müssen Sie Visual Studio Integrated-Paket erstellen, das benutzerdefinierte Panel in Visual Studio angezeigt werden soll. Dieses benutzerdefinierte Fenster wird aufgerufen, wenn Ihr Projekt erstellt wird.

Visual Studio Extensibility Developer Center

+0

Irgendein bestimmter Link oder Code, der mich in die richtige Richtung weisen würde? –

+0

Laden Sie Visual Studio 2008 SDK 1.1 auf der Microsoft-Website herunter. Es gibt viele Beispiele, die Ihnen helfen, Visual Studio Integrated Package zu erstellen. –

0

ich keine Lösung für Ihr Problem genau, aber einige Gedanken haben.

Sind Sie sicher, dass Sie eine vollständige Suite von Komponententests am Ende jedes Builds ausführen möchten? Ich persönlich finde es ein Produktivitätskiller. Bei der Arbeit mit Code tendiere ich eher dazu, eine kleine Teilmenge von Tests auszuführen, die nur den fraglichen Code abdecken, und hier kommen Tools wie ReSharper oder TestDriven.NET ins Spiel.

ReSharper Unit Test Sessions http://www.jetbrains.com/resharper/features/previews/unit_test_sessions.png

+0

Es hängt vom Projekt ab. Wenn es ein riesiges Projekt ist (wahrscheinlich Refactoring), wird es etwas länger ausgeführt, aber es wird immer noch viel schneller laufen als in der Nunit GUI (die ausgeführt wird, wenn Sie beispielsweise TestDriven.net verwenden). Der Hauptgrund ist, dass Entwickler die Ausführung von Tests vergessen, bevor sie den Code einchecken. Auf der anderen Seite ist keines der erwähnten Tools kostenlos und insbesondere ReSharper ist ein IDE-Beschleuniger (ressourcenhungrig). –

Verwandte Themen