Quizás muchos conocen Behaviour Driven Development (BDD) ha sido una evolución fantástica al desarrollo de software guiado por pruebas.
Dentro de esta evolución pasan cosas interesante porque son guiadas por mentes humanas
, hay varias gemas para practicar BDD dentro de Ruby, solo me enfocare en las menos peores o conocidas como populares, me refiero a Rspec y Cucumber.
Cuando estaba empezando con BDD me surgió una duda y fue básicamente la que inspiro escribir este post ¿cuando y donde usar Rspec y Cucumber? sí, puede ser punto de confusión, a mí me paso. Esto porque note que ambas podían hacer los mismo y técnicamente es así, Rspec es capaz de hacer lo que hace con Cucumber, no tan así Cucumber.
Para quienes tienen experiencia haciendo pruebas unitarias (TDD) lo que se busca con esta técnica es hacer pruebas isoladas, es decir probamos pequeños fragmentos de código separados del contexto de la aplicación ya que solo queremos probar el orden lógico de éste.
Con BDD pasa lo contrario esta describe el uso de la aplicación, por ejemplo “haciendo click aquí, espero que pase esto o aquello”, queremos probar el comportamiento. Lo que mas me gusta de Cucumber es que este sirve para recolectar las historias de usuarios.
Entonces, mi verdad la que vengo usando (espero que alguien pueda comentar alguna otra alternativa) Rspec lo uso para hacer TDD, aquí pruebo a nivel de Model y Controller (View no testeo) apuntando hacia a Rails y Cucumber para BDD básicamente comportamiento.
Para quienes esten interesado en explorar mas sobre este tema, puedo recomendar leer The RSpec Book: Behaviour-Driven Development with RSpec, Cucumber, and Friends es un muy buen libro para arrancar usando BDD.

