Подтвердить что ты не робот

Behat over Cucumber в PHP

Не поймите меня неправильно. Я думаю, что оба проекта фантастичны.

Но как разработчик php и ruby ​​я задаюсь вопросом, есть ли какие-то веские причины, помимо возможного языкового барьера, почему бы выбрать Behat over Cucumbercuke4php) для BDD даже при работе с php или некоторой инфраструктурой php.

4b9b3361

Ответ 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).

Ответ 2

Еще одна причина, почему вам может понадобиться Behat, объясняется здесь: https://cucumber.io/blog/2014/09/10/when-cucumbers-go-bad

Если у вас есть проект PHP, вы можете создать контекст для тестирования внутренних компонентов (уровень домена, прикладной уровень).