2008-08-31 6 views
3

Ich schreibe eine Website, die Active Directory verwendet, um Benutzer zu überprüfen. Ich habe keinen Zugriff auf eine Active Directory-Instanz, die ich in irgendeiner Weise bearbeiten kann.Wie verwende ich ADAM zum Ausführen von Komponententests?

Ich habe gehört, dass einige Leute Active Directory-Anwendungsmodus (ADAM) verwenden, um AD-Daten zu erstellen, die im Unit- und Integrationstest verwendet werden.

Hat jemand anderes dies getan? Gibt es eine gute Seite/einen guten Blog, der sagt, wie man das macht? Was sind die Probleme? Ist das überhaupt eine gute Idee?

Antwort

4

Ich denke nicht, dass dies eine gute Idee ist, genauso wie das Lesen von Dateien oder der Zugriff auf die Datenbank in Komponententests keine gute Idee ist. Ihre Tests hängen vom Zustand einer externen Software ab. Oder Sie haben eine Menge Setup- und Teardown-Code. Wenn Sie Tests auf diese Weise schreiben, können Sie erwarten, dass Sie viel Zeit mit der Pflege Ihres Testcodes verbringen. Das Einrichten und Pflegen eines Build-Servers wird ebenfalls schwieriger und die Einrichtung der Entwicklungsumgebung für neue Programmierer wird mehr Zeit in Anspruch nehmen.

Die Vorgehensweise in solchen Fällen besteht darin, eine Adapterklasse um die Infrastruktur für den Aufruf von AD einzurichten und etwas wie Rhino-Mocks oder ein anderes Mock-Framework zu verwenden, um ein Mock-Active-Verzeichnis in Ihren Tests einzurichten. Wenn Sie nicht mit Spott vertraut sind, klingt es nach viel Arbeit. In der Praxis sind es normalerweise nur ein paar Zeilen Code pro Test.