2010-03-14 8 views
5

estoy empezando un nuevo proyecto para un cliente actual.¿Qué método de prueba usar? [Rails]

He hecho algunos proyectos de rails antes, pero nunca me molesté en escribir pruebas para ellos. Me gustaría cambiar eso comenzando con este nuevo proyecto. Soy consciente de que hay varias herramientas de prueba, pero estoy un poco confundido en cuanto a lo que debo utilizar.

He oído hablar de RSpec, Mocha, Webrat y Cucumber. Por favor, tenga en cuenta que en realidad nunca escribí las pruebas regulares, por lo que mi conocimiento de las pruebas, en general, es bastante limitada.

¿Cómo sugieren puedo empezar?

Gracias!


Gracias por todas las respuestas! Publiqué una pregunta relacionada que puede interesar a quienes ven esta pregunta en el futuro. You can find it here.

Respuesta

4

Prefiero usar Rspec y Cucumber en conjunto. También prefiero Capybara sobre Webrat.

Rspec es maravilloso por su integración y estructura de rieles. Técnicamente es una prueba de comportamiento, pero en la práctica termina sintiéndose como una prueba unitaria. También le permite agrupar y definir "especificaciones", o pruebas rspec, en cualquier estructura que desee con bloques "describir".

pepino es el nivel más alto. Es en lo que traducirás tus historias de usuario. Por ejemplo, puede decidir que sus usuarios deben ser capaces de cambiar su contraseña, por lo que voy a escribir algo como esto:

Scenario: Change password 
    Given I am logged in 
    And I am on the change password page 
    When I fill in "p4ssw0rd" for "old_password" 
    And I fill in "newp4ssw0rd$$" for "new_password" 
    Then my password should be "newp4ssw0rd$$" 

Si está trabajando con un departamento de control de calidad, que pueda mostrar sus pruebas para ellos, e instantáneamente sabrán el estado de cualquier característica dada, y cómo se supone que la característica funcione. Además, si tienes probadores emprendedores, pueden escribir pruebas ellos mismos, incluso si no son programadores en general.

1

Todos cumplen diferentes funciones y si realmente te importa la calidad de tu software, los usarías todos.

  • RSpec es más para pruebas unitarias. Unit Testing está probando la parte más pequeña, generalmente los métodos de su modelo.

  • WebRat es más para pruebas de funcionalidad ya que el usuario final lo probaría desde un navegador. En realidad está probando la interacción y prueba si devuelve la vista/datos correctos.

  • El pepino es más parecido a las pruebas conducidas o las pruebas de extremo a extremo. Es más para probar la lógica comercial de acuerdo con muchos escenarios o datos diferentes.

Por supuesto, puede usarlos todos juntos. Por ejemplo, puedo usar pepino para hacer pruebas de extremo a extremo y que implicaría el uso de pruebas funcionales y WebRat Rspec también. Con suerte, esto tendrá la idea de que comiences.

Cuestiones relacionadas