2008-11-24 25 views
15

Soy nuevo en burlarse, tengo un nuevo proyecto web .NET que está en la estructura UI-> BLL-> DAL-> DB, uso NUnit para hacer algunas pruebas actualmente. Intento usarlo para probar el nivel medio, así que no tengo que escribir en DB.Burlarse de tontos?

Ahora, nunca he hecho ninguna burla, no sé por dónde empezar, así que estoy buscando un marco de burla que tenga algunas muestras de extremo a extremo. ¿Podría alguien señalarme un material burlón que comienza desde el principio y con muestras completas, por favor?

Gracias,

Ray.

Respuesta

3

Rhino Mocks es un marco que podría usar que he usado un poco.

Cheat sheet tiene algunos enlaces si quiere probar algunos otros aunque el artículo está un poco anticuado. ?

+0

I segundo rinoceronte se burla Lo recogí en una hora. –

3

Typemock ...

bien, mejor burla para mí - las interfaces, algunos refactorización de su código un poco y averiguar qué es lo que desea probar de modo que usted no necesita ninguna burla. O - cualquier inyección de dependencia para burlarse de algunas cosas (pero antes de que tenga que refactorizar un poco)

9

Debería ver algunos videos sobre burlarse en Dimecasts.net, es una forma rápida de hacerse una idea de qué burlarse es sobre y comenzar en su propio código.

Introduction to Moq

Introduction to RhinoMocks

+0

Esas son muy buenas, aprendí mucho de esos cortos clips :). – Morph

4

Por el momento no hay una serie de diferentes marcos burlones. Le recomendaría que eche un vistazo a RhinoMock o TypeMock. Ambos son gratuitos para proyectos personales/de código abierto. TypeMock también tiene una licencia corporativa.

RhinoMock lo obliga a refactorizar su código para la prueba (si es necesario, si ya tiene un código comprobable, lo está haciendo bien). Esto requiere más trabajo, pero te dejará con un código que está débilmente acoplado, lo cual es una bendición en sí mismo. Debido a esto, hay ciertos constructos que simplemente no puedes simularte directamente con Rhino. Sin embargo, siempre puedes introducir capas adicionales de direccionamiento indirecto y resolverlo de esa manera. Sin embargo, la línea de fondo es la siguiente: necesita hacer más trabajo, pero finalmente la refactorización beneficiará a su código.

TypeMock, por otro lado, funciona modificando el código sobre la marcha (utiliza la API del generador de perfiles para insertar el código). Esto le permite emplear burlas para códigos que no son adecuados para este tipo de prueba. TypeMock te permitirá simular cualquier cosa (excepto por mscorlib), por lo que es fácil comenzar y funciona bien con el código heredado. Sin embargo, debido a que no está obligado a refactorizar su código, no obtiene el beneficio adicional de los tipos ligeramente acoplados. Además, TypeMock a veces generará errores muy extraños debido a que el código de ejecución se modifica.