UnitTests sind das A und O der modernen Programmierung. Egal ob Test-Driven oder nur zur Absicherung des eigenen Codes bei Refactoring oder Erweiterungen. Ohne ein gutes Testframework ist der Entwickler von heute sehr schnell wieder ein Entkäferer (engl.: Debugger).
Wie setzt man nun aber NUnit in Visual Studio Express auf?
Das ist im Grunde ganz einfach:
– Man erstellt am besten ein zweites Projekt zum eigentlichen zu testenen Projekt. Das Projekt sollte eine ConsoleApplication sein.
– Nun fügt man dem Testprojekt eine NUget-Abhängigkeit zu „NUnit“ und zu den „NUnit.Runners“ hinzu.
Hinweis: Beim Hinzufügen der „NUnit.Runners“ wird das Häkchen, welches die erfolgreiche Installation signalisiert, nicht gesetzt. Die Installation ist in der Regel aber erfolgreich.
– Nun muss man noch die richtige Abhängigkeit zu den NUnit-Console-Runners hinzufügen. Dazu eine neue Referenz hinzufügen und über Browse auswählen. Hier dann im Projektordner aus dem Ordner packages/NUnit.Runners.v.m.m/tools/lib/ die Datei nunit-console-runner.dll auswählen.
– Zum Schluss wird die Main-Routine des Test-Projekts noch um folgenden Code ergänzt:
1 2 3 4 5 6 7 8 9 10 |
[STAThread] static void Main(string[] args) { string[] my_args = { Assembly.GetExecutingAssembly().Location }; int returnCode = NUnit.ConsoleRunner.Runner.Main(my_args); Console.WriteLine("All tests run."); Console.ReadLine(); } |
Nicht vergessen System.Reflection in die Usings mit aufzunhemen.
Nun muss man nur noch ein paar Testklassen erstellen und Testmethoden schreiben, wie etwa folgende:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
class TestStringBuilder { [Test] public void TestStringBuilderConcatsThreeStrings() { string expected = "Cooler Test"; StringBuilder builder = new StringBuilder(); builder.Append("Cooler"); builder.Append(" "); builder.Append("Test"); string actual = builder.ToString(); Assert.That(actual, Is.EqualTo(expected)); } } |
Hier wieder die Abhängigkeiten zu NUnit.Frameworkund dem zu testenden Projekt nicht vergessen und schon können die Tests laufen.
Startet man nun das Test-Projekt, öffnet sich ein Konsolenfenster mit der entsprechenden Ausgabe des Tests:
Runtime Environment – OS Version: Microsoft Windows NT 6.1.7601 Service Pack 1 CLR Version: 4.0.30319.18444 ( Net 4.5 )ProcessModel: Default DomainUsage: Single Execution Runtime: net-4.5 . Tests run: 1, Errors: 0, Failures: 0, Inconclusive: 0, Time: 0,0510308728138599 seconds Not run: 0, Invalid: 0, Ignored: 0, Skipped: 0 All tests run. |
One thought on “NUnit Tests in Visual Studio Express verwenden”