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