Wie Debuggen von Nunit-Test in Visual Studio 2010
Ich habe ein problem Debuggen von NUnit-test aus VisualStudio. Ich erstellt ein leeres Projekt (Konsolenanwendung), dann habe ich die Verweise auf die NUnit-Bibliothek und schrieb einen einfachen test.
namespace ReimplementingLinq.Tests
{
[TestFixture]
public class WhereTest
{
[Test]
public void SimpleFiltering()
{
int[] source = { 1, 2, 3, 4, 2, 8, 1 };
var result = source.Where(val => val < 4);
int[] expected = {1,2,3,4};
CollectionAssert.AreEqual(expected, result);
}
}
}
Weiter, ich folgte dem Rat in diesem link
Wie führe ich NUnit im debug-Modus von Visual Studio? aber keine der Lösungen in das Thema Arbeit für mich. Keiner meiner breakpoints getroffen werden, während Sie den test durchführen. Ich habe versucht, die Prüfung der Lösung durch die Anbindung an das Prozess-und auch von der Ausführung des Projekts mit einem externen Programm mit Argumenten.
Was kann ich tun, um meine debug unit-test?
Kommentar zu dem Problem - Öffnen
Sie sagen, Sie befestigen, um die nunit.exe Prozess, führen Sie die tests in der IDE, nunit, aber Ihre Haltepunkte werden nicht angefahren zu werden?
Ist es vielleicht, dass NUnit ausführen unter einer anderen framework-version? Versuchen Sie die folgenden links: stackoverflow.com/q/3542904/13188 und stackoverflow.com/q/930438/13188
Ich habe es die Arbeit mit der Antwort, die ich hier veröffentlicht: stackoverflow.com/questions/13348613/...
InformationsquelleAutor der Frage commando | 2011-07-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vorausgesetzt, Sie verwenden eine version von Visual Studio andere als Express-Edition dann TestDriven.NET von nutzen sein könnten.
Nach der Installation
Leider können Sie nicht verwenden Sie diese Methode mit den Express-Editionen von visual studio, weil TestDriven.NET ist ein plugin für visual studio Express-Editionen nicht unterstützt die Verwendung von plugins
Läuft ein test innerhalb einer Konsolenanwendung
Können Sie auch führen Sie einen test im debugger über eine Konsole-Anwendung:
Innerhalb der Main-Methode der console-Anwendung erstellen Sie eine neue Instanz der test-fixuture und dann rufen Sie eine der Methoden testen. Zum Beispiel, wenn ich haben ein Gerät mit Namen MyTests und ein test Test1 würde ich schreiben:
Legen Sie einen Haltepunkt in der Zeile, wo Sie erstellen eine Instanz der
MyTests
Klasse und drücken Sie die F5-TasteInformationsquelleAutor der Antwort Crippledsmurf
Ausführen oder Debuggen NUnit tests direkt in Visual Studio
Guck ma' keine Erweiterungen!
Konfigurieren Sie einfach Ihre test-Projekt, so dass, wenn Sie schlagen F5 (Start debugging) oder Strg-F5 (Starten ohne Debuggen), wird es automatisch starten NUnit-GUI und führen Sie alle tests, die innerhalb es. Wenn alle Haltepunkte getroffen, können Sie auch einfach Debuggen von test-code.
Einen Schritt-für-Schritt-Anleitung mit Bildern zeigt Ihnen genau, wie es zu tun.
InformationsquelleAutor der Antwort Robert Koritnik
Wenn Sie mit NUnit 2.4 kann man den folgenden code in Ihre
SetUpFixture
Klasse. (Sie können dies tun, mit älteren Versionen, aber Sie müssen tun, was äquivalent zu derSetUpFixture
oder kopieren Sie es in den test selbst.)Was
Debugger.Start()
tut, ist die Ursache der folgende dialog erscheint, wenn Sie auf Ausführen klicken im inneren NUnit.Wählen Sie, ob Sie Ihre laufende Instanz von visual studio, öffnen Sie das Projekt (die 2. in meinem screenshot), dann wird der debugger angehängt wird und alle Haltepunkte oder Ausnahmen in Visual Studio.
InformationsquelleAutor der Antwort Scott Chamberlain
Haben Sie einen Blick auf NHarness auf CodePlex.
Es ist eine sehr einfache, Reflexion basiert, test-runner-Bibliothek, das erkennt NUnit-Attribute und ausgeführt werden können, von einem Projekt in Visual Studio Express, so dass debug-Test.
Es hat derzeit eine test-Klasse-level-Granularität, aber die Methode level-Aufrufe sind, angeblich, gehen in Kürze Hinzugefügt werden.
InformationsquelleAutor der Antwort johnc
Hatte das gleiche problem mit NUnit 2.5.3, und fand schließlich eine andere Lösung. Sehen, ob das funktioniert für Sie:
Öffnen NUnit-GUI an und gehen Sie in Extras-Einstellungen... - dialog. Wählen Sie die Montage die Isolierung Unterabschnitt Test Loader-Abschnitts im Einstellungen-Baum. Legen Sie die Standard-Prozess-Modell zum Ausführen von tests dierctly in der NUnit-Prozess.
Hatte ich es eingestellt, um tests in einem einzigen separaten Prozess, das ist der Grund, warum der debugger konnte nicht link meiner dll unter test, um die Symbole zum Debuggen. Ich bin immer noch mit Verwendung eine sperate AppDomain pro Baugruppe für meine Standard-Domain Verwendung.
InformationsquelleAutor der Antwort James