Должен ли я тестировать свои определения шагов Behat?
Моя команда только начинает принимать Behat для BDD. Мы создаем веб-приложения и обнаружили, что существует несколько общих определений шагов, связанных с веб-технологиями, которые мы хотели бы разделить между различными продуктами. Материал, который очень похож на те определения, которые уже включены в MinkExtension, например, "я должен увидеть"
Мы настроили частный пакет композитора, чтобы мы могли делиться нашими пользовательскими определениями веб-шагов, и теперь у нас возник вопрос (очень мета!) О том, следует ли нам модульно тестировать наши определения шагов.
У меня два мнения на этот счет, и я не уверен в практичности этого. Я склоняюсь к тому, чтобы не тестировать их, потому что я думаю, что ошибки в определениях шагов должны быть выделены, когда сценарии терпят неудачу, и в этом случае они должны быть достаточно простыми, чтобы легко найти любые ошибки. Тем не менее, это кажется чем-то вроде пробела в процессе; определения шагов - это исполняемый код PHP...
1 ответ
Я бы попробовал проверить любую логику, используемую в общем тестовом коде.
Например, я написал специальную функцию assert для phpunit, которую использовал во многих тестах (утверждая, что две строки равны, игнорируя при этом любые различия в пробелах). Я тестировал модуль (на самом деле даже TDDed) эту логику полностью.