Wie richte ich NUnit, um mein Projekt unit-tests?
Ich fange an, die Verwendung von NUnit zu schreiben, die Testfälle in C# mit Visual Studio 2010 auf .NET 4.0. Will ich mit NUnit zu testen, gegen ein .dll (C# class library-Projekt)'s öffentliche Funktionen. Wie richte ich NUnit zur Arbeit mit meinem Projekt?
- Sollte ich hinzufügen, NUnit-code, um die gleiche Klasse Bibliothek-Projekt zum testen gegen, oder sollte ich ein anderes Projekt in der gleichen Projektmappe für NUnit-test-Fälle? Welche ist die beste Praxis?
- Wenn ich müssen ein separates Projekt für die NUnit test-Fälle, sollte ich es ein Klasse-Bibliothek-Projekt oder eine ausführbare Datei? Wenn ich es ein Klasse-Bibliothek-Projekt, wie führe ich es?
- Wenn ich brauche, um zu testen, gegen eine ausführbare Datei, und nicht ein Klasse-Bibliothek-Projekt, gibt es irgendwelche änderungen an der Prozess-und/oder Projekte?
InformationsquelleAutor der Frage George2 | 2010-10-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Re 2
In der Regel, halten Sie Ihre [Testfall-dll] getrennt von Ihrem [business-Logik-dll]. Ihre business-Logik-dll sollten keine Kenntnis von NUnit, voneinander zu trennen und vereinfachen Sie die Bereitstellung/Wartung.
Ihre test-Fall-dll sollte eine Referenz auf NUnit, und Ihre Geschäftslogik dll.
Brauchen Sie nicht, um einen Namensraum teilen. Sie können aussetzen interne Mitglieder Ihrer business-Logik dll Testfall dll durch änderung der Geschäftslogik dll (AssemblyInfo.cs-Datei zu setzen Interna an die test-Fall-dll. Dies ermöglicht Ihnen, bewahren Sie Ihre gewünschte Sichtbarkeit in der business-Logik-dll.
Re 3
Ihre Testfälle sollten in einem dll (d.h. Klasse-Bibliothek-Projekt). Sie können laden Sie diese direkt in NUnit-UI, oder verwenden NUnit - console-runner in einem integration-Umgebung ausgeführt werden die tests automatisch.
Wie ich es mache:
Eigenschaften, Registerkarte "Debuggen"
zeigen Sie diese zu Ihrem nunit.exe
genauen Namen Ihres Testfalls dll:
MyTests.dll
Auslassungszeichen und es wird
pre-wählen Sie Ihr test-dll-Ausgang
Verzeichnis für den aktuellen build
config
Standard-start-Projekt in der
Lösung; auf diese Weise immer Sie getroffen
Die F5-Taste (oder die Taste "Play"), NUnit wird
kommen Recht mit Ihrer aktualisierten tests
vorinstalliert - sehr bequem und
schnell.
Besten Glück - probieren Sie auch die Test-Projekt-Typ avl. in Visual Studio, es ist sehr ähnlich wie NUnit. Ich immer noch lieber NUnit-aber beim lernen ist es gut, zu versuchen, einige verschiedene Optionen.
InformationsquelleAutor der Antwort pelazem
Bezug auf Ihren Kommentar: Wenn Sie NUnit.exe bis als die Standard-Start-Programms für die Test-Klasse Bibliothek (die, die enthält Ihren Unit-Tests), Sie sagen, NUnit, welche DLL, die Sie testen wollen, nach der ersten Zeit wird es später merken Sie sich, welches Projekt Sie laufen die tests gegen.
Du auch wollen, stellen Sie sicher, dass Verweise in die Unit-Test-Bibliothek, die sich auf das andere Projekt.
Wieder, das Tutorial habe ich aufgeführt, geht durch all dies.
InformationsquelleAutor der Antwort George Stocker
2: Sie sollten alle NUnit-tests in ein separates Projekt in der gleichen Projektmappe. Aufbau der Projekt-builds, tests, und Umgekehrt, so wie du bist TDDing dieses Projekt (Sie tun das, oder?) Sie können ganz einfach führen Sie die tests aus und es baut alles notwendige zu tun.
3: Bibliothek-Klasse. Es muss nicht lauffähig von Windows, wenn Sie mit NUnit; Sie müssen nur den test-runner.
InformationsquelleAutor der Antwort KeithS
Ich würde noch ein separates Projekt testen für den test-code und Referenz zu NUnit und die Bibliothek unter test. Es sollte eine Bibliothek-Klasse, und es wird ausgeführt, indem der NUnit-test-runner(s) z.B.
nunit-console test_assembly.dll
- siehe Dokumentation.InformationsquelleAutor der Antwort Lee