Должен ли я проводить модульное тестирование определений шагов Behat?

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

Мы настроили частный пакет композитора, чтобы мы могли делиться нашими пользовательскими определениями веб-шагов, и вопрос, который сейчас возник у нас (очень мета-!), заключается в том, должны ли мы проводить модульное тестирование наших определений шагов.

У меня двоякое мнение по этому поводу, и я не уверен в практичности этого. Я склоняюсь к тому, чтобы не тестировать их, потому что я думаю, что ошибки в определениях шагов должны быть выделены, когда сценарии терпят неудачу, и в этом случае они должны быть достаточно простыми, чтобы легко находить любые ошибки. Тем не менее, это похоже на небольшой пробел в этом процессе; определения шагов - это исполняемый PHP-код, в конце концов...


person Richard Turner    schedule 26.06.2013    source источник
comment
Если в Mink чего-то не хватает, почему бы не попробовать внести свой вклад вместо создания нового пакета?   -  person tvial    schedule 28.08.2013
comment
@tvial Хорошая идея; Я посмотрю, как это сделать.   -  person Richard Turner    schedule 28.08.2013


Ответы (1)


Я бы попытался протестировать любую логику, используемую в общем тестовом коде.

Например. Я написал специальную функцию подтверждения для phpunit, которую использовал во многих тестах (утверждая, что две строки равны, игнорируя любые различия в пробелах). Я полностью протестировал (на самом деле даже TDDed) эту логику.

person EricSchaefer    schedule 29.10.2013