luis ruiz pavón

Post on 18-Apr-2015

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

TESTEANDO LO INTESTEABLE CON EL

FRAMEWORK DE MOLES

Luis Ruiz Pavón

http://luisruizpavon.com

http://twitter.com/luisruizpavon

AGENDA Qué es el framework de Moles Diferencia entre Stubs y Mocks Diferencia entre Moles y Stubs Demo Stubs (Moles) y Mocks (Moq) Demo testing ASP.NET Demo testing librería de terceros Demo testing SharePoint

QUÉ ES EL FRAMEWORK DE MOLES Es un framework de Stubs, pero además

nos permite testear clases selladas, clases con constructores privados, métodos estáticos, no virtuales… mediante el uso delegados (o lambdas).

QUÉ ES EL FRAMEWORK DE MOLES Delegatefs.ReadAllTextString = delegate(string f)

{

Assert.IsTrue(f == fileName);

return content;

};

Lambdafs.ReadAllTextString = (f) =>

{

Assert.IsTrue(f == fileName);

return content;

};

DIFERENCIA ENTRE STUBS Y MOCKS Stubs sirven para simular funcionalidad.

Mocks sirven para comprobar interacción a través de caracterísiticas de verificación.

Para hacer mocking hace falta hacer stubbing

DIFERENCIA ENTRE MOLES Y STUBS Stubs: Para testear clases que

implementan interfaces o clases no selladas con métodos que se pueden sobreescribir (Esto podría hacerse con otros frameworks de mock tales como Moq, RinhoMocks…)

Moles: Para testear clases selladas y con métodos estáticos o que no se pueden sobrescribir (Clases que tenga fuertes dependencias).

DIFERENCIA ENTRE MOLES Y STUBS Stubs: Empieza por el prefijo S. Para un

tipo T tendremos una implementación de cada método virtual o abstracto, propiedades y eventos.

Moles: Empiezan por el prefijo M y para un tipo T tendremos una implementación para cada miembro no abstracto.

CUANDO USAR MOLES Ó STUBS Usaremos stubs para aislar

dependencias haciendo usos de interfaces.

Usaremos moles cuando necesitemos testear frameworks o código de terceros que no suministran un API testeable.

DEMOS

top related