./vendor/bin/phpunit --generate-configuration
После запуска достаточно в интерактивном режиме указать путь к файлу автозагрузчика, директорию тестов и директорию приложения, команда сформирует вам тот самый phpunit.xml и заботливо положит в корень проекта.❗️В одном из своих докладов, Себастиан Бергман признался, что создал эту команду только потому, что он ленивый и данные настройки сконфигурированы сугубо под его предпочтения. Именно поэтому, в случае генерации файла через команду, рекомендую вам обратить внимание на такие настройки:
beStrictAboutCoversAnnotation="true"которые, вероятно, могут расходиться с вашими предпочтениями.
beStrictAboutOutputDuringTests="true"
beStrictAboutTodoAnnotatedTests="true"
✔️ forceCoversAnnotation — Покрытие кода будет записываться только для тестов, в которых используется аннотация
@covers, задокументированная в @covers.✔️ beStrictAboutCoversAnnotation — Тест с аннотацией
@covers, проверяющий код, который не указан при помощи @covers или @uses, будет отмечен как рискованный, если эта проверка включена. ❕ Если по-русски, то эта функция пометит код, как рискованный, если в рамках своего теста вы будете проверять код, который не относится к указанному коду в аннотации
@covers. Хз стало ли понятнее :)✔️ beStrictAboutOutputDuringTests — Тест, который производит вывод, например, через вызов функции
print либо в тестовом коде, либо в тестируемом, будет отмечен как рискованный, если эта проверка включена.✔️ beStrictAboutTodoAnnotatedTests — Пометит тест, как рискованный, если в аннотации метода будет содержаться
@todo.Странно, что об этой опции подробно не написано в документации.