2010-01-18 26 views
7

Si una gema tiene dependencias de rieles, ¿cree que es mejor escribir las pruebas de gemas de forma que puedan ejecutarse de forma independiente o ejecutarlas en un proyecto de rieles?Forma correcta de probar gemas

Respuesta

6

Una gema debe ser una pieza de código que actúa de forma independiente. De lo contrario, es parte de la aplicación, por lo que las pruebas también deben crearse de forma autónoma. De esta forma, otros (hipotéticamente) también pueden realizar las pruebas. Si las pruebas dependen de su aplicación, otras personas no pueden probar su gema.

Además, cuando desea probar su gema no debe fallar porque su aplicación está fallando. Después de que su gema pasó la prueba, puede probar la aplicación sabiendo que su gema está funcionando bien (suponiendo que haya probado todo).

Si la gema depende de Rails o no, no es un problema, ya que Rails también se ha probado (y puede suponer que está funcionando correctamente). Entonces estas dependencias no (/ deberían) influenciar su gema.

0

Yo diría que depende del tipo de dependencias que la gema necesita. P.ej. si solo es ActiveRecord, es bastante fácil incluirlo en su suite de pruebas. En casos más complejos, siempre puede burlarse de algunas de las funciones necesarias. En casos realmente complejos, crear una aplicación de prueba es mejor que nada (IMO).

Cuestiones relacionadas