Pregunta

¿Alguien sabe cómo probar la unidad SiteMapNode? Estamos construyendo algunos controles de navegación personalizados, que muestran listas HTML desordenadas de Site Maps con atributos personalizados.

Estoy intentando seguir un primer enfoque de prueba, pero descubro que SiteMapNode tiene dependencias internas en HttpContext. Para recorrer el archivo del mapa del sitio, insiste en usar una ruta virtual para encontrar el archivo del mapa del sitio.

He creado un mapa del sitio, contra el cual me gustaría probar pero no quiero crear mi entorno de prueba de unidad en un proyecto web (!)

¿Alguna sugerencia? ¿Burlón? ¿Anular a los miembros relevantes?

¿Fue útil?

Solución

Una pregunta bastante aburrida, ¡así que no sorprende que no haya recibido respuesta! Para cualquier otra persona que pueda tropezar con este problema, esta es mi solución preferida:

He encontrado que la mejor manera de manejar esto es cargar el mapa del sitio físico en un documento xml. Luego tengo una NavigationNodeFactory, que valida y crea mi propio árbol compuesto NavigationNode a partir del documento xml.

Mi clase NavigationNode es tan obstinada como me gusta y circunnavega los problemas que encontré con SiteMap y SiteMapProvider, es decir, poca capacidad de prueba para los implementadores.

Otros consejos

Creo que el problema puede haber sido que, según su descripción, estaba intentando probar primero una clase ya existente: SiteMapNode.

Deberá probar el uso del nodo del mapa del sitio dentro de su aplicación, por lo que le aconsejaría que si desea realizar acciones en la clase sitemapnode, envuelva esto con un ISiteMapProvider intermedio o similar resumen de su propia creación y haga que sus controles de navegación personalizados interactúen con esto.

Luego puede tener un SiteMapNodeProvider para el tiempo de ejecución que llama a SiteMapNode para las operaciones, y un StubbedSiteMapProvider para sus pruebas unitarias que pasan sus valores de prueba a los controles personalizados.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top