2010-06-07 11 views
19

Sé que esta es una pregunta subjetiva ...Typemock - Vale la pena el dinero?

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é?

+0

Evalué Typemock.Simplemente no hago pruebas suficientes para que valga la pena –

+1

He tenido mucho éxito con Rhino ... funciona muy bien. –

+2

Quizás valga la pena reformular esto para preguntar qué funciones ofrece TypeMock que las bibliotecas de burlarse de fuente abierta no tienen, esa es una pregunta que se puede responder al menos de manera semi-objetiva. –

Respuesta

19

En nuestro proyecto hemos tenido 12 licencias typemock que hemos tenido que actualizar anualmente, pero Creo que valió la pena 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.

Apenas un ejemplo: necesitas probar el código que maneja SqlException con ciertas propiedades, ¿cómo puedes 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 su 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 cierto producto (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.

Habiendo dicho eso, 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.

7

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.

3

Posiblemente esta no sea una respuesta tan objetiva como te gustaría, 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 puede preguntarse a sí mismo en la evaluación de cualquiera de los marcos de aislamiento actual por ahí: http://site.typemock.com/isolation-framework-checklist

+1

sería útil ver algunos tutoriales de código (a los chicos de Pex) en tu TypeMockTV en lugar de solo 2 chicos disparando sh * t. – AngryHacker

+0

AngryHacker - ejemplos de qué? – RoyOsherove

+1

ejemplos de cómo abordar diversos problemas con TypeMock Isolator y mostrar el código para hacerlo. – AngryHacker

4

Permítanme dar a entender que utilizo TypeMock de forma regular en el trabajo y creo que es un gran producto, ya que puede ayudarlo a probar un gran número de códigos no comprobables 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 (vea http://googletesting.blogspot.com/2008/07/how-to-write-3v1l-untestable-code.html para más información sobre el código maligno).

Estaré muy feliz el día en que nuestro código haya evolucionado (es decir, se haya refabricado) hasta el punto en que no necesitamos una herramienta como TypeMock Isolator para probarla correctamente.