BDD en .NET con SpecFlow

¡Hola!
SpecFlow es un framework que nos va a permitir aplicar BDD (Behavior-Driven Development o Desarrollo guiado por comportamiento) a nuestros proyectos de una forma bastante sencilla utilizando Gherkin como lenguaje para definir nuestros escenarios. En otras palabras, SpecFlow nos va a permitir construir pruebas entendibles desde negocio y reflejarlas en nuestros test, por ejemplo, reflejar una historia de usuario que un humano entienda, en un test en nuestro código. Antes que nada quiero advertir que no tengo mucha ni idea de BDD, así que es posible que no sea muy riguroso el post (¿¿alguno lo es??), por lo que me disculpo por adelantado 🙂 En cualquier caso el objetivo es explorar un poco la herramienta SpecFlow que me parece muy interesante, y dicho esto, vamos a ello. Continúa leyendo BDD en .NET con SpecFlow

Mock a servicios Lazy

¡Hola!
Cuando queremos hacer mock a un servicio, pero éste es Lazy<IService>, se puede hacer fácilmente de la siguiente forma:

//Creamos el mock de la interfaz como habitualmente
Mock<IService> mockService = new Mock<IService>();
//Al constructor Lazy se le añade el mock que va a usar cuando éste inicialice
Lazy<IService> lazyService = new Lazy<IService>(() => mockService.Object);

Y con esto ya está listo.

¡Saludos!