PHPUnit 13.2.0: Улучшенный Контроль, Ассерты и Отчетность

Тип Релиза: minor | Дата: 2026-06-05 | Категория: Test Automation

Key Changes

  • Выполнение и Контроль Тестов: PHPUnit 13.2.0 значительно улучшает контроль над выполнением тестов. Новые CLI-опции, такие как --run-test-id <test-id>, позволяют выполнять один, точно идентифицированный тест, в то время как --list-test-ids помогает обнаружить доступные ID тестов. Опция --filter также расширена для поддержки этого синтаксиса ID. Для управления тестовыми запусками атрибут executionOrder в XML-конфигурации теперь предлагает большую гибкость, включая сортировку по убыванию длительности для быстрого выявления узких мест производительности. Кроме того, новые пороги для --stop-on-defect, --stop-on-error и аналогичных опций обеспечивают более тонкий контроль над тем, когда тестовый набор должен быть остановлен, повышая эффективность в CI/CD-пайплайнах. Возможность обрабатывать прерывания и отображать текущие результаты тестов (#4201) также улучшает обратную связь во время длительных тестовых прогонов.
  • Улучшенные Ассерты и Отчетность: Тестировщики получают новые методы assertStringEqualsIgnoringWhitespace() и assertStringContainsIgnoringWhitespace(), критически важные для сравнения многострочных строк или выводов, где различия в пробелах не имеют значения. Сообщения об ошибках для базовых ограничений (IsTrue, IsFalse, IsNull) теперь стали чище, избегая многословных дампов объектов и массивов, что упрощает отладку. Отчетность значительно улучшена благодаря CLI-опции --compact для лаконичного вывода в консоль. Формат Open Test Reporting XML обогащен данными об использовании ресурсов для каждого теста и тестового набора (время, использование памяти, пиковое использование памяти), количеством ассертов, структурированными деталями ошибок сравнения (ожидаемое, фактическое, diff) и даже зерном случайного порядка при рандомизации тестов, предоставляя более глубокие данные для анализа.
  • Качество Кода и Покрытие: Обновление вводит опцию (#4501) для пометки тестов как “рискованных”, если они не вносят вклад в покрытие кода, стимулируя написание более значимых и эффективных тестов. PHPT-тесты также помечаются как “рискованные”, когда их раздел --SKIPIF-- не имеет побочных эффектов стандартного вывода (#6000). Для более гранулированного анализа покрытия конфигурация для покрытия ветвей теперь может быть отделена от покрытия путей (#6602), что позволяет QA-командам сосредоточиться на конкретных аспектах выполнения кода.
  • Удобство Использования и Конфигурация: Новая CLI-опция --validate-configuration помогает убедиться, что XML-файлы конфигурации настроены правильно, предотвращая ошибки во время выполнения из-за некорректных настроек. Теперь выдаются предупреждения при использовании конфликтующих CLI-опций (#6346), направляя пользователей к правильному использованию. Кроме того, возможность настраивать строки контекста diff (#6567) улучшает читаемость ошибок сравнения, а опция --disable-coverage-targeting (#6598) предлагает больший контроль над сбором покрытия.

Impact for QA Teams

Эти обновления предоставляют QA-командам более детальный контроль над выполнением тестов и значительно улучшенные возможности отчетности. Новые ассерты и функции покрытия помогают писать более эффективные тесты и быстрее выявлять потенциальные проблемы, что приводит к более эффективной отладке и более высокому качеству релизов.

Для полного списка изменений, обратитесь к официальным примечаниям к выпуску PHPUnit.