2011-02-09 20 views
25

No me malinterprete. Creo que ambos proyectos son fantásticos.Behat over Cucumber in PHP

Pero ya que tanto php y desarrollador de rubí me pregunto si no hay razones de peso, además de posible barrera del idioma, ¿por qué uno elige Behat sobre Cucumber (con cuke4php) para BDD incluso cuando se trabaja con php o algún marco php.

Respuesta

69

Soy un desarrollador de Behat.

Por qué he desarrollado Behat en lugar de personalización Pepino:

  1. velocidad. No hay una manera simple de arrancar/ejecutar PHP desde el código de Ruby. Esto significa que debe implementar cables/proxies y otras cosas, lo que hace que sus pruebas sean increíblemente más lentas. Y las pruebas más lentas no son una prueba, es solo un código que se come el dinero de su cliente.
  2. Extensibilidad. Hay muy pocos desarrolladores de PHP que realmente conozcan a Ruby. Es una herramienta difícil de usar, ¡que muchos no entienden! Todos los ejemplos escritos para Cucumber son de código Ruby e incluso no puedes ver las fuentes de Cucumber porque, digamos, no conoces a Ruby. Es como comprar un submarino cuando solo necesitas un taxi.

En términos de características, Behat y pepino son casi los mismos (He trabajado duro para lograr esto). Pero en términos de velocidad/extensibilidad/lógica desde la perspectiva de un desarrollador PHP, Behat es mejor, porque es una herramienta PHP nativa rápida y limpia. Behat no es un puerto de Pepino, como se podría pensar al principio, está construido enteramente desde cero en PHP 5.3. Behat intenta simular Cucumber con su lectura de entrada (características) y formato de salida (formateadores), pero no es un puerto de Pepino (no hay construcciones de sintaxis de Ruby en PHP).

+1

Gracias, esa es la respuesta que estaba buscando. – Krule

+9

behat rocks! Sigue :) –

+2

Sí, +1 para Behat en lugar de Pepino para PHP, también si usas Symfony2 hay un paquete Behat (http://symfony2bundles.org/Behat/BehatBundle). – InvertedAcceleration