Ответ 1
Я разработчик Behat.
Почему я разработал Behat вместо настройки огурца:
- Скорость. Нет простого способа загрузки/запуска PHP из кода Ruby. Это означает, что вам необходимо реализовать прокси/прокси и другие вещи, что делает ваши тесты безумно медленными. И более медленные тесты - это не тест, а просто код, который ест ваши деньги клиентов.
- расширяемость. Очень мало PHP-разработчиков, которые действительно знают Ruby. Это сложный инструмент, который многие не понимают! Все примеры, написанные для Cucumber, - это код Ruby, и вы даже не можете смотреть на источники Cucumber, потому что, допустим, вы не знаете Ruby. Это как покупка подводной лодки, когда вам просто нужно такси.
С точки зрения особенностей, Behat и Cucumber почти одинаковы (я много работал над этим). Но с точки зрения скорости/расширяемости/логики с точки зрения PHP-разработчиков - Behat лучше, потому что это быстрый и чистый собственный PHP-инструмент. Behat не является портом Cucumber, как вы могли бы подумать, сначала он полностью строился с нуля на PHP 5.3. Behat пытается смоделировать Cucumber с его входными показаниями (функциями) и форматированием вывода (formatters), но это не порт Cucumber (в PHP нет синтаксических конструкций Ruby).