¿Cuál es la mejor manera de probar una aplicación de rieles?
prueba primero.
Más en serio, que ha enumerado una serie de diferentes herramientas que están diseñadas para hacer cosas diferentes.
- Shoulda es un marco de prueba para ejecutar pruebas y un conjunto de emparejamientos y afirmaciones para escribir pruebas.
- Mocha es una biblioteca de burlas y stubbing.
- Rspec es un marco de prueba que incluye herramientas de imitación y emparejamiento.
- Pepino es un marco para escribir pruebas funcionales.
- Factory Girl es un marco para crear los objetos de dominio que utiliza en sus pruebas.
De los cuales Shoulda o Rspec pueden reemplazar a Test :: Unit, mientras que los otros proporcionan herramientas para diferentes áreas de prueba. El que necesite depende de lo que crea que hará que las pruebas de escritura sean más fáciles y efectivas.
Para alguien utiliza para probar :: pruebas de unidad de la unidad e interesados en aprender las herramientas adicionales que sugeriría el siguiente.
Si usted tiene un proyecto existente usando Test :: Unidad de considerar la adición de burla de Mocha y apagando y ver si eso le permite escribir pruebas unitarias se centró más fácilmente. Si ya tiene dispositivos en su lugar, considere usar Factory Girl para generar fábricas en su lugar a medida que agrega nuevos objetos modelo y vea de nuevo si encuentra que hace que sus pruebas sean más fáciles de administrar y mantener. Si tiene un conjunto sólido de pruebas unitarias, considere usar Cucumber para escribir algunas pruebas funcionales de nivel superior para comenzar a capturar historias de usuarios en pruebas y probar su aplicación de principio a fin.
Si está comenzando un nuevo proyecto, empiece con Rspec y Factory Girl. Rspec te presentará un estilo de prueba muy diferente a Test :: Unit, pero aún estarás escribiendo pruebas unitarias bastante familiares y proporciona stubs, mocks y matchers que te permitirán sumergirte en las pruebas sin una explosión de muchas nuevas gemas en tu proyecto Factory Girl le dará una forma conveniente de construir objetos de dominio cuando sus pruebas lo requieran. Entre esos dos debería poder recoger un montón de nuevos trucos de prueba mientras sigue trabajando con su flujo de trabajo habitual de pruebas unitarias.
Buena pregunta. ¡Esperemos que obtengamos realmente buenas respuestas! – Zabba
Elija un proyecto del tamaño real de un tamaño decente como Spree u otra cosa de http://www.opensourcerails.com/ y trate de comprender las pruebas en la aplicación. También necesitaría buscar en las fuentes reales, por supuesto, para comprender algunas de las pruebas. En mi humilde opinión, esta es una excelente manera de mejorar en Rails en general también. – Zabba