2016-03-23 4 views
1

Auf einer neuen VS-Lösung habe ich mit NUnit 3.2 begonnen. Ältere Versionen (2.6) verfügten über eine externe NUnit-GUI, die es ermöglichte, Assemblys zu beobachten und automatisch Tests auf Änderungen durchzuführen. Aber ich kann nichts Ähnliches für 3.2 finden - weder in der Dokumentation noch bei Google.NUnit 3.2: Autorun Tests nach dem Kompilieren (Windows)

Ich habe NUnit.3.2.0.msi installiert, ich habe auch den NUnit3 Test Adapter in VS + NUnit3.2 nuget Paket für mein Projekt installiert.

Ich kann problemlos alle meine Tests durch VS Test Explorer ausführen. Aber ich vermisse einen Weg, sie automatisch auszuführen. Wer weiß wie?

Antwort

1

In älteren Versionen von Visual Studio gab es eine Option, Tests nach jedem Build auszuführen, aber es wurde entfernt. Es war immer fehlerhaft und neigte dazu, Dateien zu sperren und den Wiederaufbau zu verhindern.

Sie könnten einen Post-Build-Befehl für Ihr Testprojekt festlegen, um die NUnit-Konsole automatisch auszuführen, wenn Ihr Testprojekt neu kompiliert wird. Sie haben die NUnit-Konsole installiert, sodass Sie darauf verweisen oder das NUnit.Runners-Paket verwenden können, um es im Paketordner Ihrer Lösung zu installieren.

Öffnen Sie die Testprojekteinstellungen und gehen Sie zu Build Events Registerkarte. Klicken Sie auf Bearbeiten Post-Build. Gebe folgendes ein;

"C:\Program Files (x86)\NUnit.org\nunit-console\nunit3-console.exe" "$(TargetPath)"

VS PRoject Settings

Nun, wenn Sie bauen, werden Ihre Tests ausgeführt und die Ergebnisse im Ausgabefenster angezeigt.

Tests in Output

Vielleicht nicht ideal, wenn es eine Menge von Build-Ausgabe nach den Tests ist, aber es funktioniert.

FYI, die Farbe in der Build-Ausgabe ist ein Nebeneffekt der VSColorOutput Visual Studio extension, es ist nicht von NUnit.

Visual Studio erfasst STDOUT, so dass ich es nicht geschafft habe, ein CMD-Fenster zu öffnen und die Tests auszuführen. Wenn jemand weiß, wie man das macht, füge einen Kommentar hinzu und ich werde aktualisieren.

+0

Ich werde das versuchen - danke –

0

Es gibt eine GUI für NUnit 3, die gerade auf GitHub entwickelt wird - aber es wird noch nicht für den produktiven Einsatz empfohlen.

Wir setzen unsere Tests mit der NUnitLite runner. Dadurch können Sie Ihre Testassembly in eine ausführbare Datei umwandeln - und beim Ausführen wird die Konsole gestartet und alle Tests ausgeführt. []

+0

Danke für die Info zu NUnitLite, aber bin ich richtig in der Annahme, dass es nicht automatisch beim Kompilieren läuft? Außerdem habe ich mehrere Testprojekte in meiner Lösung, eine pro Projekt. –

+0

@Carsten Wie meinst du "run on compile", sorry? Wenn Sie F5 drücken, führt es Ihre Tests aus, ja. – Chris

+0

Problem ist, dass ich mehrere Test-Projekte in der Lösung habe. Und Ihr Vorschlag wird AFAICS führen nur das Projekt als Startup-Projekt festgelegt. –