2011-01-07 34 views
8

Soy nuevo en testing en Rails. Decidí aprender Desarrollo basado en pruebas y, por lo tanto, estoy investigando sobre cómo hacerlo en rieles.¿Cuál es la mejor manera de probar una aplicación de rieles?

Empecé con Test :: Unit y pronto llegué a saber que había mejores herramientas y marcos de prueba disponibles. Cosas que he oído de son

  1. Shoulda
  2. Mocha
  3. Rspec
  4. pepino
  5. Factory Girl

Ahora estoy muy confundido en cuanto a la manera de seguir adelante. ¿Cuál es la mejor combinación de estas herramientas que debo aprender? ¿También dónde puedo encontrar recursos para aprender estos?

Estoy construyendo la aplicación en Rails 3.0

+0

Buena pregunta. ¡Esperemos que obtengamos realmente buenas respuestas! – Zabba

+2

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

Respuesta

1

Personalmente utilizo pepino, RSpec y Factory Girl en mis aplicaciones. En cuanto a un recurso, estoy escribiendo un libro llamado Rails 3 in Action que pasa por el uso de estas herramientas (y Rails en sí, por supuesto) para desarrollar una aplicación.

17

¿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.

+3

Cualquier tutorial disponible para aprender estos. Empecé con rspec en tu sugerencia, pero empecé a tener muchos problemas para comenzar. Tengo una aplicación existente a la que necesito agregar Rspec. ¿Cómo lo hago? –

Cuestiones relacionadas