12 Stimmen

Wie kann man einen NUnit-Test am besten debuggen?

Meine Plattform: Visual C# 2008 Express Edition mit NUnit 2.2.7

Ich habe eine Lösung mit meinem Code in einem Projekt und meine NUnit-Unit-Tests in einem anderen Projekt in der gleichen Lösung.

Ich habe hart zu debuggen und Single-Step durch die NUnit-Tests gekämpft. Ich fand einige Referenzen online, die vorgeschlagen, die folgenden aufrufen:

NUnit.ConsoleRunner.Runner.Main(args);

Aber das lässt sich nicht einmal kompilieren - es gibt einen Compilerfehler:

Fehler 1 Der Typ- oder Namespace-Name 'Runner' existiert nicht im Namespace 'NUnit.ConsoleRunner' (sind fehlt eine Assembly-Referenz?)

Ich habe alle Baugruppenreferenzen hinzugefügt, die ich finden konnte, ohne Erfolg.

Schließlich ist das, was ich zusammengehackt habe und es funktioniert, aber vielleicht können Sie gute Leser eine bessere Lösung vorschlagen:

1) In meinem Testprojekt lautet der Klassenname eines Testfalls, den ich debuggen möchte, MyTestClass. Sie hat eine [TestFixtureSetUp]-Methode namens Init() und der eigentliche Testfall befindet sich in der [Test]-Funktion MyTest()

2) In meinem Codeprojekt habe ich ein Konsolenprogramm TestProgram.cs, das zu einer EXE kompiliert wird.

In TestProgram.cs rufe ich die Testfälle auf folgende Weise auf

// First instantiate the test class
MyTestClass tc = new MyTestClass();

// Call the TestFixtureSetup method
tc.Init();

// Now call the actual test
tc.MyTest();

Das funktioniert, und ich kann die Testfälle debuggen und in Einzelschritten durchgehen.

Wenn jemand bessere Vorschläge für die Verwendung von Visual Studio 2008 Express hat ohne für zusätzliche Plugins zu bezahlen Ich weiß Ihren Rat zu schätzen.

0 Stimmen

Im Allgemeinen sollten Sie keinen Debugger verwenden müssen, wenn Sie es richtig und in kleinen Schritten machen. Aber Sie sind vielleicht in einer anderen Situation

0voto

tsilb Punkte 7699

Wenn Sie ReSharper installiert haben, sollte es in der Lage sein, Ihre [Test]-Vorrichtungen zu erkennen und ein Symbol links neben jeder auszuführenden Methode zu platzieren, und links neben jeder Testvorrichtung, um alle auszuführen. Ich bevorzuge diesen Weg.

Die meisten Leute auf der Arbeit haben auch TestDriven.NET, das aus irgendeinem Grund nicht auf meinem Rechner ist, also fragen sie sich, was da los ist. Es ist schon irgendwie lustig.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X