Mock and Stub – Hacer stub a método que tienen parámetros por referencia

La sintaxis de RhinoMocks constraints para aplicar en Stub o Expect a veces puede resultar compleja. Su documentación es bastante completa pero en algunos casos dificil de seguir o implementar.

A continuación te dejo una breve entrada sobre cómo puedes resolver la papeleta de hacer stub sobré métodos que tienen parámetros por referencia, esto puede resultarte útil tanto para unit test de tu capa de dominio, como para flow expectation test de tu capa de servicio.

Leer más…

Mock and stub – Sobre arquitecturas de UnitOfWork con Reposity pattern

Una de mis primeras entradas al crear este blog, fue sobre una arquitectura sobre la capa de datos usando Unit Of Work, Repository Pattern y EntityFramework Code First, con el objetivo de desacoplar tu capa de datos del resto de las capas de tu aplicación donde está contenida la lógica, servicios, negocio…

Un objetivo derivado, al conseguir este desacople, es poder aplicar Mocks y Stubs sobre tu capa de datos. Mock a estas clases de unit of work y repository, haciendo stub sobre sus métodos de forma que los unit test sobre las capas superiores se mantengan siendo atómicos, independientes de la capa de datos, y por tanto mucho más rápidos que si deben acceder a estos datos. Esto por otra parte facilita una aproximación F.I.R.S.T de los unit test como menciono en otra entrada.

Leer más…

Flow expectation test con Rhino Mocks – Parte 2

En la primera entrada sobre Rhino Mocks presento una primera aproximación a los flow expectation test. En esa entrada hablo sobre validar que todas las llamadas a otros métodos son realizadas por el método que deseas probar. En ese caso se esta utilizando una misma interfaz, por lo tanto los flow expectation test son bastante sencillos. Esta situación no siempre se va a dar, tendrás muchos casos donde tus servicios llamen a métodos de distintas interfaces, y te será necesario combinar diferentes mocks para hacer este tipo de test, en esta entrada te presento como hacerlo con Rhino Mocks.

Leer más…

Flow expectation test con Rhino Mocks – Parte 1

En varias de mis entradas sobre unit testing hablo sobre la potencia de esta librería de rhino mocks para hacer unit test, como en ésta sobre herramientas para unit test. Pero no solo sobre unit test debe sustentarse tu aplicación.

Hay otro tipo de test para probar el flujo de tu lógica de negocio, que son los culpables de que tome mi decisión sobre usar esta librería rhino mocks sobre otras librerías de testing. Sobre este tipo de test hablo en una entrada reciente, dando motivos para implementar este tipo de test y una arquitectura que los permita.

En esta entrada voy a entrar al detalle de como usar rhino mock para hacer diferentes flow expectation test. 

Leer más…