2012-09-10 15 views
5

hemos estado buscando utilizar el nuevo Fakes framework para ayudarnos a aumentar la cobertura de prueba en algún código heredado que se ejecuta bajo el marco de trabajo .NET 4.0. Lamentablemente, parece que no podremos actualizar a .NET 4.5. ¿Tendría razón al decir que no podemos usar el framework Fakes con .net 4.0 (y VS2012) y que necesitaríamos usar el marco de Moles ahora no soportado en su lugar?Microsoft Fakes y .Net 4.0

Respuesta

4

Aunque, en general, no soy fanático de los lunares, entiendo la ayuda que pueden obtener para obtener pruebas sobre el código heredado. A continuación hay algunas otras herramientas que puedes considerar. Pero en serio, odio estos tipos de marcos porque la manera correcta de hacer las cosas es escribir código que sea comprobable y refactorizar el código heredado que no lo sea (entiendo que esto no siempre es fácil o posible). Creo que los lunares se deshace de la una de las ventajas principales de la unidad de pruebas, lo que es que te obliga a escribir buen código como se discuten aquí:

Aquí hay un par de cosas que considerar:

  • Moles (Predecssor a MS Marco falsificaciones)
  • JustMock (Más barato que Typemock, pero sigue siendo caro)
  • TypeMock (ridículamente caro!)

También hay una versión libre, luz de JustMock, no está seguro de lo que incluye.

+0

Gracias Jim. Nos damos cuenta de que estas herramientas son un último recurso y cualquier código que se escriba desde cero se diseñará teniendo en cuenta las pruebas y las dependencias administradas adecuadamente. Sin embargo, no es práctico para nosotros refactorizar toda la base de código, y es por eso que estamos viendo estos tipos de marcos de aislamiento. – gmancoll

0

Sé que esto no es lo que ha preguntado, pero ¿ha considerado/evaluado marcos de burla no microsoft?

Rhino.Mocks es increíblemente popular y robusto, y FakeItEasy es growing in adoption. Su documentación no es tan rica, pero es increíblemente intuitiva y fácil de usar.

+0

Como estamos lidiando con código heredado, la mayoría de nuestras dependencias no se abstraen lo suficiente para que la burla sea una opción (donde están usando Moq) por lo que necesitamos la funcionalidad de desvío de Moles/Fakes. – gmancoll

0

Estoy probando 3.5 ensamblajes con falsificaciones, las pruebas falsas auto compiladas para 4.5. No he intentado compilarlos para 3.5, pero no están destinados a ejecutarse en la máquina de despliegue.

0

Microsoft Fakes framework es compatible con las mismas versiones de .NET que Visual Studio 2012. Esto incluye las versiones 4.5, 4.0, 3.5, 3.0 y 2.0.

2

Debe usar Visual Studio 2012 Ultimate o Premium Update 2 para poder usar Microsoft Fakes, y las pruebas unitarias pueden apuntar a versiones anteriores de .NET framework.