2010-04-08 20 views
5

Curioso, ¿qué están haciendo en cuanto a la automatización de las pruebas de unidad con ruby ​​on rails? ¿Creas una secuencia de comandos que ejecuta un trabajo de rake en cron y te envía los resultados por correo? un gancho pre-commit en git? solo invocación manual? Comprendo las pruebas por completo, pero me pregunto cuáles son las mejores prácticas para detectar errores antes de que sucedan. Demos por hecho que las pruebas en sí mismas son perfectas y funcionan como deberían. ¿Cuál es el siguiente paso para asegurarse de que lleguen a usted con los resultados potencialmente perjudiciales en el momento adecuado?Prueba automatizada con Ruby on Rails: mejores prácticas

Respuesta

8

No está seguro acerca de lo que es exactamente lo que quiere oír, pero hay dos niveles de control de base de código automatizado:

  1. Mientras trabajaba en una función, puede usar algo como autotest para obtener una retroalimentación instantánea en lo que funciona y lo que no.

  2. Para asegurarse de que sus confirmaciones realmente no rompen nada utilizar como servidor de integración continua cruisecontrolrb o Integrity (se puede unir a estos post-commit ganchos en su sistema SCM).

  3. Utilice algún tipo de sistema de notificación de excepciones para detectar todos los errores inesperados que puedan surgir en la producción.

  4. Para obtener una visión más general de lo que sucedió (lo que estaba haciendo el usuario cuando se produjo la excepción) puede usar algo como Rackamole.

Espero que ayude.

+0

El sitio web de Rackamole parece haber cambiado. – Tuma

0

Si está desarrollando un equipo, la mejor práctica es configurar un continuous integration server. Para comenzar, puede ejecutar esto en cualquier máquina de desarrollo. Pero en general es bueno tener una caja dedicada para que siempre esté activa, sea rápida y no moleste a un desarrollador. Por lo general, puede comenzar con el escritorio antiguo de alguien, pero en algún momento es posible que desee que sea una de las máquinas más rápidas para que pueda obtener una respuesta inmediata de las pruebas.

He usado el control de crucero, el bambú y teamcity y todos funcionan bien. En general, cuanto menos pagues, más tiempo pasarás configurándolo. Tuve suerte e hice una instalación completa de bambú en menos de una hora (una vez). Espero pasar al menos un par de horas la primera vez.

La mayoría de estas herramientas le notificarán de alguna manera. La línea de base es un correo electrónico, pero muchos ofrecen mensajería instantánea, IRC, RSS, SMS (entre otros).