c# visual-studio-2008 mocking typemock

c# - Typemock-Vale la pena el dinero?



visual-studio-2008 mocking (4)

Sé que esta es una pregunta subjetiva ...

Typemock es de $ 799 por desarrollador. Las licencias para 5 desarrolladores generan una suma bastante grande. Si alguien aquí usó Typemock y dado que hay marcos de burla de código abierto, ¿vale la pena el dinero? ¿Por qué?


En nuestro proyecto teníamos 12 licencias de Typemock que teníamos que actualizar anualmente, pero creo que valió cada centavo (en realidad øre) que gastamos.

¿Por qué? El aislador Typemock tiene una ventaja importante: no establece (casi) ninguna restricción en el código que necesita para simular. ¿Constructores privados? ¿Clases selladas? ¿Clases estáticas? No hay problema, puede aislar todo esto usando Typemock.

Solo un ejemplo: necesita probar el código que maneja SqlException con ciertas propiedades, ¿cómo puede hacer esto? SqlException es una clase sellada con constructor no público. Puede venir con varias soluciones, pero mientras use código administrado, no hay una forma directa de burlarse de SqlException.

Typemock Isolator intercepta tu código como un generador de perfiles, no se administra, por lo que se abre para una burla mucho más poderosa. Y si está tratando con ciertos productos (por ejemplo, SharePoint), entonces Isolator es el único marco que puede manejarlo, porque como alguien dijo, SharePoint es solo un montón de clases privadas selladas.

Una vez dicho esto, debido a su poder Typemock Isolator requiere que los desarrolladores se preocupen más por la capacidad de prueba de su propio código. Usar Isolator es más fácil escribir código no comprobable y aún así poder probarlo con Isolator (suena contradictorio, lo sé). Pero suponiendo que tiene su propio código correcto, Typemock Isolator es una herramienta invaluable para falsificar componentes de terceros, y cuando digo "de terceros" también me refiero a cosas que provienen de Microsoft y que no siempre son fácilmente comprobables.


La parte subjetiva es su análisis de cuánto tiempo (y, por lo tanto, dinero) utilizando Typemock le ahorrará. Puede ser útil comenzar con cuánto le cuesta una hora de desarrollador. $ 100? En ese caso, ¿cuánto tiempo pasará antes de que Typemock le ahorre 8 horas de tiempo?

Probablemente la única forma de tomar una decisión inteligente es obtener una licencia de evaluación y hacer algunas pruebas reales para ver cuánto tiempo ahorra.


Permítanme prologar que utilizo TypeMock de forma regular en el trabajo y creo que es un gran producto, ya que puede ayudarlo a probar una gran cantidad de código no comprobable con una API bastante limpia.

Dicho esto, es posible que desee dar un paso atrás y preguntarse si los desarrolladores están escribiendo buen código orientado a objetos y siguiendo buenas prácticas, o si simplemente están escribiendo código malvado que necesita herramientas y experiencia de trabajo pesado (ver http: //googletesting.blogspot.com/2008/07/how-to-write-3v1l-untestable-code.html para obtener más información sobre el código malicioso).

Seré extremadamente feliz el día en que nuestro código haya evolucionado (es decir, se haya refactorizado) hasta el punto en que no necesitemos una herramienta como TypeMock Isolator para probarla adecuadamente.


Posiblemente esta no sea una respuesta tan objetiva como quisieras, ya que trabajo allí, pero esta es una lista de verificación en la que he estado trabajando.

Esta es una lista de preguntas que quizás quiera hacerse al evaluar cualquiera de los marcos de aislamiento actuales: http://site.typemock.com/isolation-framework-checklist