2010-05-12 10 views
5

Estoy intentando que toda la configuración funcione con Autotest/Growl/Shoulda en mi Mac para probar una gema en la que estoy trabajando para Authlogic. He usado RSpec en el pasado pero me gustaría cambiar a Shoulda.Autotest, Shoulda, Ruby - ¿La configuración?

Esta gema va a funcionar con Rails, pero otras gemas que he creado son simples bibliotecas antiguas de ruby ​​sin dependencias en los módulos de Rails. ¿Cuál es la forma recomendada de probar Rubygems?

ZenTest parece estar enfocado principalmente en Rails, ya que aún tengo que encontrar una gema que lo llame autotest ejecute automágicamente todas mis pruebas TestUnit sin importar si estoy usando Rails, Sinatra o simplemente haciendo una gema.

La pregunta es, ¿cuál es su configuración/flujo de trabajo para ejecutar pruebas en las gemas que está construyendo? ¿Tienes algún recurso que me pueda ayudar?

O una pregunta más específica y comprobable: ¿Cómo ejecuto el paquete de prueba para Paperclip o Authlogic con Autotest?

He estado usando estos recursos como hasta ahora:

Muchas gracias. Quiero hacer de las pruebas una parte central de mi flujo de trabajo.

Respuesta

3

Autotest (y ZenTest en general) no está enfocado en Rails. De hecho, el código de los rieles se extrajo en una gema separada. Sin embargo, de manera predeterminada, espera que los archivos en su carpeta de proyecto se adhieran a un cierto diseño y convención de nomenclatura de archivos. Por ejemplo:

. 
|-- lib 
| `-- my_library.rb 
`-- test 
    |-- test_helper.rb 
    `-- test_mylibrary.rb 

acabo han publicado un small project que trabaja con Shoulda y es comprobable mediante el autotest.

Si desea desviarse de estas convenciones (por ejemplo sufijando en lugar de prefijar "prueba" en sus nombres de archivo de prueba de código) de lo que puede proporcionar un archivo .autotest que utiliza una API proporcionada por autotest para uso tu propio esquema Hay un ejemplo bastante completo en el RSpec project itself.

+0

gracias por ese ejemplo, que cada vez es más claro :). Me pregunto, ¿qué utilizan estos tipos (autor de Authlogic y autor de Paperclip, enlaces a pruebas anteriores) para probar sus proyectos? ¿Usan autotest con rutas de descubrimiento personalizadas? ¿Cuáles son tus pensamientos? Esperando respuestas de los autores también. –

0

Estaba teniendo un problema similar, así que pensé en compartir mi solución para la posteridad.

Tengo un árbol de proyectos con una gran cantidad de archivos. Sabía sobre la convención del autotest de buscar asignaciones entre archivos en lib/y archivos en test /. Pero cometí el error de pensar que esto significaba que el autotest solo buscaba los archivos en lib/y prueba/de forma predeterminada. No tan. Si no le dice que busque archivos o directorios específicos, escaneará el árbol completo . Esto puede no ser bueno si su árbol tiene más de 100.000 archivos. :-)

Así que estaba ejecutando autotest y no veía ningún resultado, pensando que no estaba encontrando archivos, cuando en realidad estaba buscando demasiados archivos y tratando de resolverlos sin dar ningún comentario.Al mover el directorio más grande fuera del árbol principal, obtuve el autotest para responder.

(voy a tener que aprender a hackear en los archivos de configuración de autotest.)

Cuestiones relacionadas