2012-05-23 4 views
7

En this video from GoGaRuCo 2011, Corey Haines muestra algunas técnicas para hacer suites de pruebas Rails mucho más rápido. Me gustaría resumir de la siguiente manera:¿Qué herramientas y métodos de prueba usó Corey Haines en GoGaRuCo 2011?

  • poner tanto de su código como sea posible fuera de la aplicación Rails, en otros módulos y clases
  • prueba esas separado, sin la sobrecarga de carga hasta los carriles
  • Úsalos desde dentro de su aplicación Rails

Hubo un par de cosas que no entendí, sin embargo.

  • Alterna entre las pruebas que se ejecutan con rspec y spn o spna (por ejemplo, aproximadamente a 03:50). ¿Es spn una herramienta comúnmente conocida?
  • En sus pruebas para clases y módulos que no son Rails, incluye el módulo o la clase que se está probando, pero no lo veo incluyendo nada como spec_helper. ¿Cómo tiene disponible Rspec?

Respuesta

19

Disculpa las molestias. spn y spna son alias que tengo que agregan mi código de no rieles a la ruta de carga de rspec. No hay nada especial en ellos, aparte de agregar -I path_to_code en la línea de comandos.

En estos días, puedo añadir algo como esto para mi archivo .rspec:

-I app/mercury_app 

entonces puedo hacer sencilla require 'object_name' en la parte superior de mi especificaciones.

En cuanto a no incluir spec_helper: eso es cierto, yo no. Cuando ejecuta su archivo de especificación con rspec <path_to_spec_file>, se interpreta, por lo que no necesita requerir rspec explícitamente.

Para mis especificaciones db estos días, también he construido un active_record_spec_helper que requiere active_record, establece una conexión a la base de datos de prueba y configura database_cleaner; esto me permite simplemente requerir mi modelo en la parte superior de mi archivo de especificaciones. De esta forma, puedo probar el código AR contra el db sin tener que cargar toda mi aplicación.

Un cliente en el que estoy usando estas técnicas está interesado en apoyar algunas publicaciones de blog sobre esto, así que con suerte comenzarán a aparecer a mediados de junio.

+2

+1 y háganos saber acerca de las publicaciones del blog! :) – apneadiving

+0

Haré. También estoy trabajando en una serie de videos que, si bien no se centra específicamente en esto, se referirá a las decisiones y técnicas de construcción de una aplicación de rieles. – coreyhaines

+5

Acepté su respuesta porque la considero la autoridad más importante del mundo sobre Corey Haines. –

Cuestiones relacionadas