Моя команда только начинает внедрять Behat для BDD. Мы создаем веб-приложения и обнаружили, что есть несколько общих определений шагов, связанных с веб-приложением, которые мы хотели бы использовать в разных продуктах. Вещи, которые очень похожи на те определения, которые уже включены в MinkExtension, например. «Я должен видеть, что «‹option›» из «‹select›» отключен».
Мы настроили частный пакет композитора, чтобы мы могли делиться нашими пользовательскими определениями веб-шагов, и вопрос, который сейчас возник у нас (очень мета-!), заключается в том, должны ли мы проводить модульное тестирование наших определений шагов.
У меня двоякое мнение по этому поводу, и я не уверен в практичности этого. Я склоняюсь к тому, чтобы не тестировать их, потому что я думаю, что ошибки в определениях шагов должны быть выделены, когда сценарии терпят неудачу, и в этом случае они должны быть достаточно простыми, чтобы легко находить любые ошибки. Тем не менее, это похоже на небольшой пробел в этом процессе; определения шагов - это исполняемый PHP-код, в конце концов...