2009-08-19 2 views
1

Ich habe eine Klasse, die ich den DialogResult Wert für testen möchte. Um diesen Typ zu erhalten, muss ich einen Verweis auf System.Windows.Forms hinzufügen.Ist es eine schlechte Übung, System.Windows.Form in Ihrem Unit Test-Projekt zu referenzieren?

Ist es eine schlechte Übung, dies in ein Testprojekt aufzunehmen?

+0

Danke für die tollen Kommentare dazu! Ich werde es verlassen. (Übrigens, ich brauche es nur, damit meine Tests für meine Mediator-Klasse wissen, was die Schnittstelle zur GUI-Klasse zurückgegeben hat. – Vaccano

Antwort

2

Enthalten Sie alles, was Sie für einen Komponententest benötigen, der ohne menschliche Interaktion ausgeführt werden kann oder die Erwartung, dass er beobachtet wird.

Wenn Sie sehen wollten, ob etwas in der Form richtig angezeigt wurde, dann machen Sie einen Funktionstest.

Wenn Sie feststellen, dass Sie viele Tests mit Formularen durchführen müssen, haben Sie möglicherweise zu viel Geschäftslogik in Ihrer Präsentationsebene (Ansichtsschicht) und möchten die Geschäftslogik möglicherweise in eine Einheitsklasse verschieben getestet getrennt von allem, was mit Formen zu tun hat.

Wenn Sie nur einige Enums oder Hilfsklassen von Windows.Forms benötigen, die nicht mit dem Erstellen eines Formulars zu tun haben, dann ist ein Komponententest dafür in Ordnung.

2

Wenn Sie nur die Enum-Definition für DialogResult benötigen, sehe ich kein Problem.

Wenn Sie diese Bibliothek zum Anzeigen von Benutzeroberflächen verwenden, wäre das aus Sicht der Automatisierung eine schlechte Sache, es sei denn, diese Automatisierungssuite wurde speziell zum automatischen Testen von Benutzeroberflächen entwickelt (was ich nicht weiß oder Sie hätten die Referenz).

2

Ist Ihr Test inhärent formbezogen? Wenn dies nicht der Fall ist, sollte sich der Typ selbst nicht auf DialogResult beziehen. Wenn es ist (und ich vermute, dass es ist), dann ist es völlig in Ordnung für Ihre Tests, um auch Formen bezogen zu sein.

1

Es hängt von Ihrer Einrichtung und den Anforderungen Ihres Testprojekts ab, aber als allgemeine Regel würde ich sagen, dass es keine schlechte Übung ist, dies zu tun; obwohl nach meiner Erfahrung relativ selten Übung.

Verwandte Themen