-
Notifications
You must be signed in to change notification settings - Fork 0
PHP Unit
Как проверить названия тестов (методов) на адекватность? Запустите ваш ./vendor/bin/phpunit добавив опцию --testdox
Вдогонку еще одна полезная опция, о которой почему-то ничего не написано в документации.
./vendor/bin/phpunit --generate-configuration
После запуска достаточно в интерактивном режиме указать путь к файлу автозагрузчика, директорию тестов и директорию приложения, команда сформирует вам тот самый phpunit.xml (http://img.netpeak.ua/genkovich/2021-03-27_8afce0.png) и заботливо положит в корень проекта.
❗️В одном из своих докладов, Себастиан Бергман признался, что создал эту команду только потому, что он ленивый и данные настройки сконфигурированы сугубо под его предпочтения. Именно поэтому, в случае генерации файла через команду, рекомендую вам обратить внимание на такие настройки:
beStrictAboutCoversAnnotation="true" beStrictAboutOutputDuringTests="true" beStrictAboutTodoAnnotatedTests="true"
которые, вероятно, могут расходиться с вашими предпочтениями.
- forceCoversAnnotation — Покрытие кода будет записываться только для тестов, в которых используется аннотация @covers, задокументированная в @covers (https://phpunit.readthedocs.io/ru/latest/annotations.html#appendixes-annotations-covers).
- beStrictAboutCoversAnnotation — Тест с аннотацией @covers, проверяющий код, который не указан при помощи @covers или @uses, будет отмечен как рискованный, если эта проверка включена.
- Если по-русски, то эта функция пометит код, как рискованный, если в рамках своего теста вы будете проверять код, который не относится к указанному коду в аннотации @covers. Хз стало ли понятнее :)
- beStrictAboutOutputDuringTests — Тест, который производит вывод, например, через вызов функции print либо в тестовом коде, либо в тестируемом, будет отмечен как рискованный, если эта проверка включена.
- beStrictAboutTodoAnnotatedTests — Пометит тест, как рискованный, если в аннотации метода будет содержаться @todo.