2009-05-18 9 views
8

¿Cuál es la mejor manera de probar una aplicación unitaria que acceda a ActiveDirectory y/o simular las dependencias al AD?Pruebas unitarias para acceder al código ActiveDirectory

Todos los tipos necesarios, como DirectorySearcher y DirectoryEntry, no parecen ser fáciles de burlar.

Tenemos métodos como FindByUserName() y nos gustaría (unidad) ponerlos a prueba.

Respuesta

7

Si no son manipulables (no tiene MSDN a mano, así que no puedo decirlo), siempre puede abstraerlos detrás de IDirectorySearcher y y burlarse de estos. Con este enfoque, puede simplificar la API adaptándola específicamente para satisfacer sus necesidades.

+0

Gracias por su respuesta rápida. Probaré algunas cosas y te dejaré saber qué funcionó. –

+0

¿No causará mucha duplicación de código? Hasta ahora no puedo imaginar cómo vas a hacer eso. Digamos que tengo un método de controlador Web API que funciona con DirectorySearcher. Entonces, ¿tengo que preparar el método UT, ejecutando la misma lógica, pero usando IDirectorySearcher? – Alexander

1

¿No hay otra posibilidad de usar un servidor de directorio ligero (ldap) como lo hacen los desarrolladores de Java con Apache DS (http://directory.apache.org) en .NET ?!

Esta sería una buena alternativa.

+0

Estaba pensando lo mismo ... – WayneC