Unit Test en los EventHandlers de SharePoint

Las pruebas unitarias o como las conocemos en ingles, unit test, nos brindan la facilidad de probar una unidad de código con el objetivo de llevar acabo una prueba de forma rápida, simple y siempre con el mismo resultado sin importar el número de veces que vaya a ser ejecutado.Para este ejemplo, vamos a realizar un unit test a un manejador de evento o como los conocemos en ingles, EventHandler o EventReceiver según la plantilla de proyectos de Visual Studio. Nuestro manejador de eventos se encuentra vinculado con una lista que almacena información sobre productos, y se ejecuta cada vez que el usuario agrega un nuevo producto, agregando un valor en el campo detalle que es una columna oculta en los formularios, como se muestra a continuación:

List

Luego vamos a crear el proyecto en Visual Studio, en mi caso seleccione un proyecto en blanco de tipo SandBox Solution y le añadí un item correpondiente al EventReceiver, cuando el elemento este siendo agregado (item is being added):

SandBox

ItemAdded

Posteriormente vamos a agregar el código para poder agregar el detalle al elemento:

Codigo

El código valida el nombre de la lista para actualizar los valores de los elementos solamente en la lista llamada “Productos” y con properties.AfterProperties actualizamos el campo Detalle con el mensaje que sea requerido.Para agregar un proyecto de tipo Unit Test seleccionados el método y en el menu contextual vamos a ver la opción de crear este proyecto. Si están utilizando Visual Studio 2012 es muy probable que no vean esta comando, pero lo pueden agregar de la siguiente manera:

Tools -> Customize

Customize

Al crear el proyecto Unit test, un asistente de configuración nos va a permitir seleccionar cual va a ser el método al que queremos realizar la prueba unitaria.

UnitTest

Si están desarrollando su EventHandler para SharePoint 2010, como es mi caso, es importante que seleccionen en las propiedades del proyecto el target Framework 3.5 (versión de Framework de SharePoint 2010). Adicionalmente en la configuración del test es importante que seleccionen la ejecucción para x64.

x64

Cabe mencionar que en el proyecto de pruebas unitarias la referencia de Microsoft.SharePoint se ha incluido en el proyecto.  Ademas, se encuentra un método llamado ItemAddingTest, el cual es el que vamos a completar según nuestro requerimiento. En mi caso es necesario que agregue un elemento a la lista para poder agregar el detalle por esta razón esto es lo primero que debe hacer nuestra prueba, lo segundo es validar si el elemento agregado contiene el detalle que tuvo que haber sido agregado por el EventHandler.

CodigoUnitTest

Ahora ya podemos ejecutar nuestro Unit Test, para esto podemos realizar lo siguiente:TestPassed

Esto nos permite visualizar que el código se ejecuto correctamente y nos brinda una manera sencilla de probar porciones de código de los manejadores de eventos sin necesidad de hacer un debug cada vez que se necesite probar. Esto nos simplifica y ahorra tiempo al no tener que agregar, editar, eliminar o actualizar elementos manualmente y también disminuye la carga de esfuerzo del servidor.

David Sánchez Aguilar, consultor enfocado en tecnologías Microsoft. Cuenta con varias certificaciones como MCP, MCT, MCSD, MCITP, MCTS y Microsoft Specialist. Es graduado de la carrera de Ingeniería en Sistemas Computacionales y actualmente cursa la Maestría de Administración de Tecnologías de la Información (MATI). Cuenta con más de siete años de experiencia trabajando con plataformas de colaboración. Ha participado en distintos proyectos para Latinoamérica y Norteamérica con tecnologías como SharePoint, Office 365, Microsoft Azure, Team Foundation, SQL Server, System Center y también soluciones de desarrollo basadas en .NET Framework y HTML5. Adicionalmente, es instructor certificado de Microsoft.

Publicado en C#, SharePoint, Unit Test

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Microsoft MVP
Microsoft Most Valuable Professional
Certificaciones
Certificaciones

Haz clic para seguir este blog y recibir notificaciones de nuevos mensajes por correo electrónico.

Únete a otros 1.346 seguidores

Visitantes
Follow me on Twitter
Visitas
  • 31,034 en total.