2012-02-10 18 views
8

¿Alguien tiene un ejemplo de prueba de unidad en CSLA. Me resulta difícil implementar TDD con este marco y me preguntaba si hay formas simples de hacerlo. ¿Hay algún otro Mock Framework que pueda usar además de TypeMock Isolator que es gratis para construir mi objeto de prueba? Por favor, si tiene alguna sugerencia y muestras/ejemplos, estaría encantado? Gracias.Prueba unitaria en CSLA? ¿Cómo? ¿Qué?

Respuesta

8

No estoy seguro de si le estoy diciendo algo de información nueva, pero desde CSLA 4 es más fácil probar sus BusinessRules personalizadas y si está utilizando repositorios como su capa de datos, puede simular los repositorios para probar el objetos comerciales junto con la parte delantera usándolos. Solo recuerde que los objetos de negocio no son mucho más que un conjunto de objetos con propiedades en las que debe usar las Reglas de negocio para implementar la lógica comercial. Esas Reglas de Negocio son solo clases que puede probar sin problemas.

Todo depende de cómo su infraestructura es. ¿Estás usando un patrón de IoC?

¿Qué versión de CSLA está usando?

¿Está usando el CSLA ObjectFactory de?

Si utiliza CSLA como debe ser utilizado tendrá métodos de fábrica estáticas y tiene un constructor que no sea pública. Si aún desea probar esas propiedades dentro de BusinessObjects, puede elegir entre algunas opciones.

  1. Si utiliza COI para la capa de datos (repositorios), entonces pueden burlarse de aquellos y probar los objetos de negocio mediante la configuración de la COI con burla y talones y en el TestMethod llamar a los métodos de fábrica y hacer su prueba.

  2. Si no usa IoC, podría tener suerte si fue a buscar la solución CSLA ObjectFactory, allí puede usar simulaciones y trozos.

  3. Si no se utiliza la COI y no ir para el ObjectFactory, no se puede probar la unidad de los objetos de negocio que fácilmente. Pero aún es posible registrando un DataPortal personalizado. Dentro del DataPortal puede usar el reflejo para construir el objeto comercial y resolver algún simulacro/talón para ese objeto comercial específico. No es fácil, pero es factible.

Disculpa que no tengo ningún ejemplo.

Cuestiones relacionadas