2011-02-09 9 views
25

Nie zrozum mnie źle. Myślę, że oba projekty są fantastyczne.Behat over Cucumber w PHP

Ale zarówno jako programista PHP i Ruby Zastanawiam się, czy istnieją jakieś przekonujące powody, oprócz ewentualnej bariery językowej, dlaczego należałoby wybrać Behat nad Cucumber (z cuke4php) dla BDD nawet podczas pracy z PHP, lub jakimś frameworkiem.

Odpowiedz

69

Jestem programistą Behat.

Dlaczego mam opracowane Behat zamiast Ogórek personalizacji:

  1. Speed. Nie ma prostego sposobu na bootstrap/uruchomienie PHP z kodu Ruby. Oznacza to, że musisz zaimplementować przewody/proxy i inne rzeczy, co sprawia, że ​​twoje testy są niesamowicie wolniejsze. Wolniejsze testy nie są testem, to tylko kod, który zjada pieniądze klienta.
  2. Rozszerzalność. Istnieje bardzo niewielu programistów PHP, którzy naprawdę znają Ruby. Jest to trudne w użyciu narzędzie, którego wielu nie rozumie! Wszystkie przykłady napisane dla Ogórek to kod Ruby, a Ty nawet nie możesz spojrzeć na źródła Ogórek, ponieważ, powiedzmy, nie znasz Rubiego. To jak kupowanie łodzi podwodnej, gdy potrzebujesz taksówki.

Pod względem funkcji, Behat i Cucumber są prawie takie same (ciężko pracowałem, aby to osiągnąć). Ale pod względem szybkości/rozciągliwości/logiki z perspektywy programisty PHP - Behat jest lepszy, ponieważ jest to szybkie i czyste natywne narzędzie PHP. Behat nie jest portem Cucumber, jak mogłoby się wydawać na początku, jest zbudowany całkowicie z poziomu PHP 5.3. Behat próbuje zasymulować Cucumber z odczytem wejściowym (funkcje) i formatowaniem wyjściowym (formaterami), ale nie jest to port Cucumber (w PHP nie ma konstrukcji składni Ruby).

+1

Dziękuję, oto odpowiedź, której szukałem. – Krule

+9

Skały! Idź dalej :) –

+2

Tak, +1 dla Behat zamiast Cucumber for PHP, także jeśli używasz Symfony2, istnieje pakiet Behat (http://symfony2bundles.org/Behat/BehatBundle)! – InvertedAcceleration