Ich wurde gebeten, ein kleines Nebenprojekt durchzuführen, um einem unserer Kunden eine einfache Anwendung zur Verfügung zu stellen. Normalerweise arbeite ich an Back-End-Code, bei dem alle meine Testanforderungen geklärt sind, und ich hatte noch nicht das zweifelhafte Vergnügen, Tests für die GUI zu schreiben. Daher ist mir ein wenig unklar, wie ich mich einrichten soll den Testcode und die Tools für eine EXE.
Mein erster Instinkt bestand darin, die Tests einfach in den Anwendungscode aufzunehmen, was jedoch die Angabe einer Reihe von testspezifischen Abhängigkeiten erforderlich machte, die ich angewiesen hatte, ausdrücklich nicht an den Kunden zu versenden. Ich bin auch nicht in der Lage, Geld für ein speziell entwickeltes Test-Tool herauszuholen . Daher muss ich die Tools verwenden, die ich zur Hand habe ( StoryQ , RhinoMocks und NUnit)), was eigentlich mehr als genug sein sollte, um das Verhalten einer einfachen GUI-App zu testen. Soweit ich sehen kann, muss ich versuchen, ein ausgewogenes Verhältnis zwischen einer wirklich einfachen Gestaltung und einer gezielten Überentwicklung für die Tests zu finden. Es sieht so aus, als würde ich die App mit der Geschäftslogik in einer separaten Bibliothek erstellen und wie gewohnt mit der Bibliothek testen oder einen anderen Mechanismus finden, der es mir ermöglicht, die ausführbare Datei zu erstellen, ohne zusätzliche Module zu entfernen, die das Anwendungsdesign nicht unterstützt wirklich brauchen.
Bearbeiten:
Bitte beachten Sie, dass es bei dieser Frage darum geht, die Beziehung zwischen NUnit und meiner ausführbaren Datei im Gegensatz zu einer DLL zu strukturieren und nicht darum, wie Präsentation und Geschäftslogik voneinander getrennt werden.
/Bearbeiten
Meine Frage lautet also:
- Gibt es eine bestimmte / empfohlene Methode zum Konfigurieren einer einfachen GUI-Anwendung mit Komponententests, mit der ich den Status und das Verhalten mit den verfügbaren Tools angemessen überprüfen kann, ohne zu viel Engineering betreiben zu müssen?
- Habe ich etwas Grundsätzliches darüber übersehen, wie NUnit beim Testen einer EXE (im Gegensatz zu einer DLL) aufgerufen / konfiguriert werden sollte?
- Können Sie mir Beispiele geben oder zeigen, wie dies alles erreicht werden kann?
Mir ist klar, dass es mehr als einen Weg gibt, dies zu tun. Daher suche ich nach spezifischen Implementierungsrichtlinien, die auf Ihren Erfahrungen basieren.