2009-06-19 10 views
7

Acabo de leer el gran libro de Michael C. Feathers Working Effectively with Legacy Code, la biblia de la introducción de pruebas al código heredado. En este libro se describe algo llamado Editar disparado por las pruebas:¿El siguiente paso es la prueba desencadenada por edición?

Si no es por el momento se libera este libro, sospecho que alguien pronto desarrollar un IDE que le permite especificar una conjunto de pruebas que se ejecutarán con cada pulsación de tecla. Sería una forma increíble de cerrar el ciclo de retroalimentación.

tiene que suceder. Simplemente parece inevitable. Ya hay IDEs que verifican la sintaxis en cada tecla y cambian el color del código cuando hay errores. La prueba activada por edición es el siguiente paso.

Cuando leí esto, no había escuchado sobre IDEs o herramientas que lo admitan. Sin embargo, acabo de encontrar un proyecto llamado Infinitest que admite esto para Java.

Mis preguntas son:

  1. ¿Hay alguna otra herramientas/marco que soporta este (esperemos que también para Visual Studio)?
  2. ¿Cuáles son sus experiencias con este tipo de pruebas (eficiente, ralentiza el IDE, etc)?
  3. ¿Es este el siguiente paso de TDD?

actualizaciones:

  • Tome una mirada un vistazo a este screencast para ver Infinitest en acción para Eclipse.
  • acaba de encontrar un blog donde Brett Schuchert comparte algunas experiences with Infinitest.
+0

concepto interesante! Creo que pasará un tiempo antes de que esto sea confiable y eficiente. –

Respuesta

0

Bueno, esencialmente es un desarrollo basado en pruebas, con pruebas que se ejecutan continuamente, a medida que escribe? Por lo tanto, no diría que la "prueba desencadenada por edición" es una nueva técnica de desarrollo, sino simplemente una característica de su IDE.

En cuanto a la velocidad de esta función, supongo que realmente depende de la complejidad de su proyecto es, ¿qué compilador y el idioma que está utilizando, y los cambios que está haciendo. Si está modificando alguna biblioteca base que se utiliza en todo el proyecto, su compilador deberá recompilar una gran parte de su programa para poder ejecutar pruebas en otras bibliotecas utilizando su código.

+0

Estoy de acuerdo con que no es una nueva técnica de desarrollo, se trata más de acortar los comentarios de las pruebas. – BengtBe

1

Hay Autotest de rubí. Ejecuta pruebas unitarias continuamente mientras edita archivos, usando algunas convenciones simples para mapear archivos fuente para probar archivos. También hay un complemento para él que he visto que colorea el código de prueba rojo o verde en emacs de forma interactiva. Creo que esta idea de retroalimentación visual inmediata de pasar/reprobar en el editor de código en sí es genial.

+0

+1 para encontrar otra herramienta que lo soporte. – BengtBe

1

Ha sido un par de años desde la pregunta original, y hay algunas herramientas disponibles para .NET (supongo que este espacio ha crecido para otros idiomas también).

Hay una versión .NET de autotest (mentioned previously in this thread) llamada AutoTest.NET, que ha sido en forma de horquilla y actualizada en una herramienta más plenamente las funciones de llamada ContinuousTests.Lo intenté hace un año, y parecía tener mucho potencial en ese momento, pero desafortunadamente, parece que han decidido detener el desarrollo. En el lado positivo, sin embargo, ahora es free!

No he usado NCrunch, pero es un producto comercial que parece estar activamente desarrollado.

Hay script-based tools que también podría caber la cuenta de lo que estás preguntando por

Véase también esta pregunta: How do I do continuous testing in .NET?

Cuestiones relacionadas