Подтвердить что ты не робот

Результат вывода PHPunit на CLI, не отображающий имена тестов

Я запускаю совершенно новый набор тестов в PHPUnit, я бы хотел увидеть результат каждого теста с именем теста рядом с ним. Это облегчило бы исправление сломанных тестов и TDD.

PHPunit выводит нарушенные сообщения, но ваши глаза становятся неуклюжими через некоторое время, проходя через все ошибки и стеки.

Текущий тип вывода .......F................... отлично работает, когда ваш тестовый набор работает и стабилен, но при создании пакета...

Я пробовал параметр --verbose, и это не помогает.

4b9b3361

Ответ 1

Использовать phpunit --testdox
В cli это даст вам очень читаемый формат testdox и позволит вам легко увидеть и исправить несколько наборов тестов, например.

PHPUnit 3.7.37 by Sebastian Bergmann.

Configuration read from /home/badass-project/tests/phpunit.xml

AnalyticsViewers
 [x] test getViewersForMonth throws for no valid date
 [x] test getViewersForMonth limits correctly
 [x] test getViewersForMonth only returns unprocessed records
 [ ] test getViewersForMonth marks retrieved records as processed
 [ ] test getViewersForMonth returns zero for no view data
 [x] test getViewersForMonth returns valid data

Organisation
 [x] test getOrganisation returns orgs

Я использую его в сочетании со стековыми трассами от запуска PHPUnit в vanilla для быстрой настройки.

Он также имеет дополнительное преимущество для замены символов подчеркивания в именах тестовых функций пробелами. например, test_getViewersForMonth_returns_valid_data становится test getViewersForMonth returns zero for no view data, что более читаемо для человека.
NB Вообще говоря, если вы следуете стандартам кодирования PSR, вы должны использовать camelCase для имен методов, но для модульных тестов методы Я нарушаю это правило, чтобы уменьшить когнитивную нагрузку во время разработки TDD.

Ответ 2

Кроме того, если вы хотите выводить, какой конкретный тест выполняется построчно, попробуйте флаг --debug Таким образом, при возникновении ошибок вы будете знать, какой тест выдает ошибку по имени.