Пережить огурец в PHP - PullRequest
       15

Пережить огурец в PHP

26 голосов
/ 09 февраля 2011

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

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

Ответы [ 3 ]

73 голосов
/ 09 февраля 2011

Я разработчик Behat.

Почему я разработал Behat вместо настройки Cucumber:

  1. Скорость.Нет простого способа загрузить / запустить PHP из кода Ruby.Это означает, что вам нужно реализовать провода / прокси и другие вещи, что делает ваши тесты безумно медленными.А более медленные тесты - это не тест, а просто код, который пожирает деньги вашего клиента.
  2. Расширяемость.Очень немногие разработчики PHP действительно знают Ruby.Это сложный инструмент, который многие не понимают!Все примеры, написанные для Cucumber, являются кодом Ruby, и вы даже не можете посмотреть на исходники Cucumber, потому что, скажем, вы не знаете Ruby.Это похоже на покупку подводной лодки, когда вам просто нужно такси.

С точки зрения характеристик, Behat и Cucumber практически одинаковы (я много работал для достижения этой цели).Но с точки зрения скорости / расширяемости / логики с точки зрения разработчика PHP - Behat лучше, потому что это быстрый и чистый нативный инструмент PHP.Behat - это не порт Cucumber, как вы могли подумать, во-первых, он полностью построен на PHP 5.3.Behat пытается симулировать Cucumber с его входным чтением (функциями) и выходным форматированием (форматерами), но это не порт Cucumber (в PHP нет синтаксических конструкций Ruby).

2 голосов
/ 19 мая 2015

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

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

0 голосов
/ 26 марта 2019

Я хотел бы добавить два моих цента по этой теме с ответом, который рассматривает различные варианты использования в профессиональной среде.

Если вы работаете с другими разработчиками на базе кода, написанной в основном на PHP,Преимущество сводится к вашим коллегам.

Если ваша команда чувствует себя более комфортно в PHP, потому что это то, на чем написана база кода, и люди испытывают проблемы или раздражаются переключением контекста на разные языки программирования (большинство людей такмой опыт) тогда лучше разместить свою команду и использовать бехат.Люди будут меньше жаловаться и (будем надеяться) делать больше.

Если ваша команда свободно говорит на разных языках, и у большинства людей нет проблем с переключением между использованием Ruby (cucumber) для приемочных тестов и использованием PHP для всего остальногоиспользуйте язык, наиболее подходящий для работы.Ruby гораздо более выразителен, чем PHP, поэтому, возможно, лучший выбор - огурец.

Если ваша команда чувствует себя более комфортно с PHP, чем с Ruby, тогда выбирайте Behat.Встроенная совместимость обеспечивает выразительность и позволяет избежать странностей, кроме того, что она быстрее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...