Spec-Zone.ru › PHPUnit

PHPUnit

Руководство PHPUnit

Издание для PHPUnit 13.2. Обновлено 5 июня 2026 г.

Sebastian Bergmann

Эта работа распространяется на условиях лицензии Creative Commons Attribution 3.0 Unported.

Содержание:

  • 1. Установка
    • PHP в командной строке
      • Установка интерпретатора PHP для командной строки
      • Использование интерпретатора PHP для командной строки
      • Настройка PHP для разработки
    • Установка PHPUnit
      • Архив PHP (PHAR)
      • Composer
      • PHAR или Composer?
      • Глобальная установка
      • Веб-сервер
  • 2. Написание тестов для PHPUnit
    • Проверка возвращаемых значений
    • Ожидание исключений
    • Проверка побочных эффектов
    • Поставщики данных
    • Зависимости тестов
    • Незавершённые тесты
    • Пропуск тестов
      • Пропуск тестов с помощью атрибутов
    • Проверка вывода
    • Проверка вывода журнала ошибок
  • 3. Запуск тестов из командной строки
    • Запуск тестов
      • Тесты PHPT
    • Выбор тестов
      • Фильтрация по имени теста
      • Фильтрация по набору тестов
      • Фильтрация по группе
      • Фильтрация по покрываемой единице кода
      • Фильтрация по идентификатору теста
      • Вывод списка тестов
    • Результаты и проблемы
    • Вывод
      • Сведения о среде выполнения
      • Ход выполнения
      • Результаты тестов
      • Сводка
      • Альтернативные форматы вывода
      • Управление выводом
      • Взаимодействие параметров вывода
    • Коды завершения
    • Досрочная остановка
    • Ведение журналов
    • Порядок выполнения тестов
  • 4. Организация тестов
    • Составление набора тестов с помощью файловой системы
    • Составление набора тестов с помощью конфигурации XML
  • 5. Фикстуры
    • Шаблонные методы
    • Больше вызовов setUp(), чем tearDown()
    • Предварительные и постусловия
    • Использование атрибутов вместо шаблонных методов
    • Совместное использование фикстур
    • Глобальное состояние
  • 6. Тестовые двойники
    • Тестовые заглушки
      • Что такое тестовые заглушки?
      • Типичные сценарии использования
      • Справочник
      • Генерация возвращаемых значений
    • Объекты-имитации
      • Что такое объекты-имитации?
      • Типичные сценарии использования
      • Справочник
    • Рекомендации
      • Запечатанные тестовые двойники
  • 7. Покрытие кода
    • Метрики программного обеспечения для покрытия кода
    • Включение файлов
    • Выбор целевых единиц кода
    • Игнорирование блоков кода
    • PHPCOV
      • Объединение данных о покрытии кода
      • Покрытие изменений
    • Ограничения
  • 8. TestDox
    • Поведение по умолчанию
      • Имена классов
      • Имена методов
      • Поставщики данных
    • Настройка документации тестов
      • Атрибут TestDox
      • Атрибут TestDoxFormatter
      • Атрибут TestDoxFormatterExternal
    • Вывод TestDox
      • Вывод в консоль
      • Вывод в виде обычного текста
      • Вывод в формате HTML
      • Конфигурация XML
  • 9. Ненадёжные тесты
    • Бесполезные тесты
    • Незапечатанные объекты-имитации
    • Непреднамеренно покрытый код
    • Отсутствие вклада в покрытие кода
    • Вывод во время выполнения теста
    • Превышение времени выполнения теста
    • Изменение глобального состояния
    • Зависимости от размера теста
  • 10. Обработка ошибок
    • Ограничение проблем «вашим кодом»
    • Игнорирование подавления проблем
    • Игнорирование ранее зарегистрированных проблем
    • Ожидание устаревших функций (E_USER_DEPRECATED)
    • Пользовательские обработчики триггеров проблем
      • Реализация пользовательского обработчика
      • Регистрация пользовательского обработчика
    • Отключение обработчика ошибок PHPUnit
  • 11. Расширение PHPUnit
    • Расширение конкретных тестовых случаев
    • Выделение абстрактных тестовых случаев
    • Выделение трейтов
    • Реализация пользовательских ограничений
    • Реализация пользовательских утверждений
    • Реализация пользовательских компараторов
    • Настройка вызова метода теста
    • Расширение средства запуска тестов
      • Реализация расширения
      • Полный пример: пользовательский принтер
      • Совместное использование расширения
      • Регистрация расширения
      • Отладка PHPUnit
    • Обёртывание средства запуска тестов

Приложение

  • 1. Утверждения
    • Статическое и нестатическое использование методов проверки
    • Логические значения
      • assertTrue()
      • assertFalse()
    • Идентичность
      • assertSame()
      • assertArraysAreIdentical()
      • assertArraysAreIdenticalIgnoringOrder()
      • assertArraysHaveIdenticalValues()
      • assertArraysHaveIdenticalValuesIgnoringOrder()
      • assertArrayIsIdenticalToArrayOnlyConsideringListOfKeys()
      • assertArrayIsIdenticalToArrayIgnoringListOfKeys()
    • Равенство
      • assertEquals()
      • assertEqualsCanonicalizing()
      • assertEqualsIgnoringCase()
      • assertEqualsWithDelta()
      • assertObjectEquals()
      • assertFileEquals()
      • assertFileEqualsFileIgnoringWhitespace()
      • assertArraysAreEqual()
      • assertArraysAreEqualIgnoringOrder()
      • assertArraysHaveEqualValues()
      • assertArraysHaveEqualValuesIgnoringOrder()
      • assertArrayIsEqualToArrayOnlyConsideringListOfKeys()
      • assertArrayIsEqualToArrayIgnoringListOfKeys()
    • Итерируемые значения
      • assertArrayHasKey()
      • assertContains()
      • assertContainsOnly()
      • assertContainsOnlyArray()
      • assertContainsOnlyBool()
      • assertContainsOnlyCallable()
      • assertContainsOnlyFloat()
      • assertContainsOnlyInt()
      • assertContainsOnlyIterable()
      • assertContainsOnlyNull()
      • assertContainsOnlyNumeric()
      • assertContainsOnlyObject()
      • assertContainsOnlyResource()
      • assertContainsOnlyClosedResource()
      • assertContainsOnlyScalar()
      • assertContainsOnlyString()
      • assertContainsOnlyInstancesOf()
    • Объекты
      • assertObjectHasProperty()
    • Количество элементов
      • assertCount()
      • assertSameSize()
      • assertEmpty()
      • assertGreaterThan()
      • assertGreaterThanOrEqual()
      • assertLessThan()
      • assertLessThanOrEqual()
    • Типы
      • assertInstanceOf()
      • assertIsArray()
      • assertIsList()
      • assertIsBool()
      • assertIsCallable()
      • assertIsFloat()
      • assertIsInt()
      • assertIsIterable()
      • assertIsNumeric()
      • assertIsObject()
      • assertIsResource()
      • assertIsScalar()
      • assertIsString()
      • assertNull()
    • Строки
      • assertStringStartsWith()
      • assertStringEndsWith()
      • assertStringContainsString()
      • assertStringContainsStringIgnoringCase()
      • assertStringEqualsStringIgnoringLineEndings()
      • assertStringEqualsStringIgnoringWhitespace()
      • assertMatchesRegularExpression()
      • assertStringMatchesFormat()
      • assertStringMatchesFormatFile()
      • assertFileMatchesFormat()
      • assertFileMatchesFormatFile()
      • assertStringEqualsFile()
      • assertStringEqualsFileIgnoringWhitespace()
    • JSON
      • assertJson()
      • assertJsonFileEqualsJsonFile()
      • assertJsonStringEqualsJsonFile()
      • assertJsonStringEqualsJsonString()
    • XML
      • assertXmlFileEqualsXmlFile()
      • assertXmlStringEqualsXmlFile()
      • assertXmlStringEqualsXmlString()
      • assertXmlFileEqualsXmlFileConsideringComments()
      • assertXmlStringEqualsXmlFileConsideringComments()
      • assertXmlStringEqualsXmlStringConsideringComments()
    • Файловая система
      • assertDirectoryExists()
      • assertDirectoryIsReadable()
      • assertDirectoryIsWritable()
      • assertFileExists()
      • assertFileIsReadable()
      • assertFileIsWritable()
      • assertIsReadable()
      • assertIsWritable()
    • Математика
      • assertInfinite()
      • assertNan()
    • Ограничения
      • assertThat()
  • 2. Атрибуты
    • Test
    • AllowMockObjectsWithoutExpectations
    • DisableReturnValueGenerationForTestDoubles
    • DoesNotPerformAssertions
    • IgnoreDeprecations
    • WithoutErrorHandler
    • IgnorePhpunitWarnings
    • Покрытие кода
      • CoversClass
      • CoversClassesThatImplementInterface
      • CoversClassesThatExtendClass
      • CoversTrait
      • CoversMethod
      • CoversFunction
      • CoversNamespace
      • CoversNothing
      • UsesClass
      • UsesClassesThatImplementInterface
      • UsesClassesThatExtendClass
      • UsesTrait
      • UsesMethod
      • UsesFunction
      • UsesNamespace
    • Поставщик данных
      • DataProvider
      • DataProviderExternal
      • DataProviderClosure
      • TestWith
      • TestWithJson
    • Зависимости тестов
      • Depends
      • DependsUsingDeepClone
      • DependsUsingShallowClone
      • DependsExternal
      • DependsExternalUsingDeepClone
      • DependsExternalUsingShallowClone
      • DependsOnClass
      • DependsOnClassUsingDeepClone
      • DependsOnClassUsingShallowClone
    • TestDox
      • TestDox
      • TestDoxFormatter
      • TestDoxFormatterExternal
    • Группы тестов
      • Group
      • Small
      • Medium
      • Large
      • Ticket
    • Шаблонные методы
      • BeforeClass
      • Before
      • PreCondition
      • PostCondition
      • After
      • AfterClass
    • Изоляция тестов
      • BackupGlobals
      • ExcludeGlobalVariableFromBackup
      • BackupStaticProperties
      • ExcludeStaticPropertyFromBackup
      • RunInSeparateProcess
      • RunTestsInSeparateProcesses
      • RunClassInSeparateProcess
      • PreserveGlobalState
      • WithEnvironmentVariable
    • Пропуск тестов
      • RequiresPhp
      • RequiresPhpExtension
      • RequiresSetting
      • RequiresPhpunit
      • RequiresPhpunitExtension
      • RequiresFunction
      • RequiresMethod
      • RequiresOperatingSystem
      • RequiresOperatingSystemFamily
      • RequiresEnvironmentVariable
  • 3. Конфигурация
    • Конфигурация
    • Выбор
    • Выполнение
    • Остановка при проблемах
    • Завершение с ошибкой при проблемах
    • Формирование отчётов
    • Ведение журнала
    • Покрытие кода
    • Параметры только для CLI
    • Настройки только для XML
  • 4. Параметры CLI
    • Конфигурация
    • Выбор
    • Выполнение
    • Формирование отчётов
    • Ведение журнала
    • Покрытие кода
    • Разное
  • 5. Файл конфигурации XML
    • Элемент <phpunit>
      • Атрибут backupGlobals
      • Атрибут backupStaticProperties
      • Атрибут bootstrap
      • Атрибут cacheDirectory
      • Атрибут cacheResult
      • Атрибут colors
      • Атрибут columns
      • Атрибут controlGarbageCollector
      • Атрибут numberOfTestsBeforeGarbageCollection
      • Атрибут requireCoverageMetadata
      • Атрибут requireSealedMockObjects
      • Атрибут processIsolation
      • Атрибут stopOnDefect
      • Атрибут stopOnError
      • Атрибут stopOnFailure
      • Атрибут stopOnWarning
      • Атрибут stopOnRisky
      • Атрибут stopOnDeprecation
      • Атрибут stopOnNotice
      • Атрибут stopOnSkipped
      • Атрибут stopOnIncomplete
      • Атрибут failOnAllIssues
      • Атрибут failOnEmptyTestSuite
      • Атрибут failOnWarning
      • Атрибут failOnRisky
      • Атрибут failOnDeprecation
      • Атрибут failOnPhpunitDeprecation
      • Атрибут failOnPhpunitNotice
      • Атрибут failOnNotice
      • Атрибут failOnSkipped
      • Атрибут failOnIncomplete
      • Атрибут beStrictAboutChangesToGlobalState
      • Атрибут beStrictAboutOutputDuringTests
      • Атрибут beStrictAboutTestsThatDoNotTestAnything
      • Атрибут beStrictAboutCoverageMetadata
      • Атрибут requireCoverageContribution
      • Атрибут enforceTimeLimit
      • Атрибут defaultTimeLimit
      • Атрибут diffContext
      • Атрибут timeoutForSmallTests
      • Атрибут timeoutForMediumTests
      • Атрибут timeoutForLargeTests
      • Атрибут defaultTestSuite
      • Атрибут stderr
      • Атрибут reverseDefectList
      • Атрибут registerMockObjectsFromTestArgumentsRecursively
      • Атрибут extensionsDirectory
      • Атрибут executionOrder
      • Атрибут resolveDependencies
      • Атрибут testdox
      • Атрибут testdoxSummary
      • Атрибут displayDetailsOnAllIssues
      • Атрибут displayDetailsOnIncompleteTests
      • Атрибут displayDetailsOnSkippedTests
      • Атрибут displayDetailsOnTestsThatTriggerDeprecations
      • Атрибут displayDetailsOnPhpunitDeprecations
      • Атрибут displayDetailsOnPhpunitNotices
      • Атрибут displayDetailsOnTestsThatTriggerErrors
      • Атрибут displayDetailsOnTestsThatTriggerNotices
      • Атрибут displayDetailsOnTestsThatTriggerWarnings
      • Атрибут shortenArraysForExportThreshold
    • Элемент <testsuites>
      • Элемент <testsuite>
    • Элемент <source>
      • Элемент <include>
      • Элемент <exclude>
      • Элемент <directory>
      • Элемент <file>
      • Элемент <deprecationTrigger>
      • Элемент <issueTriggerResolvers>
      • Атрибут <ignoreSelfDeprecations>
      • Атрибут <ignoreDirectDeprecations>
      • Атрибут <ignoreIndirectDeprecations>
      • Атрибут <restrictNotices>
      • Атрибут <restrictWarnings>
      • Атрибут <baseline>
      • Атрибут <ignoreSuppressionOfDeprecations>
      • Атрибут <ignoreSuppressionOfPhpDeprecations>
      • Атрибут <ignoreSuppressionOfErrors>
      • Атрибут <ignoreSuppressionOfNotices>
      • Атрибут <ignoreSuppressionOfPhpNotices>
      • Атрибут <ignoreSuppressionOfWarnings>
      • Атрибут <ignoreSuppressionOfPhpWarnings>
    • Элемент <coverage>
      • Атрибут includeUncoveredFiles
      • Атрибут ignoreDeprecatedCodeUnits
      • Атрибут pathCoverage
      • Атрибут disableCodeCoverageIgnore
      • Элемент <report>
    • Элемент <logging>
      • Элемент <junit>
      • Элемент <teamcity>
      • Элемент <testdoxHtml>
      • Элемент <testdoxText>
    • Элемент <groups>
    • Элемент <extensions>
      • Элемент <bootstrap>
    • Элемент <php>
      • Элемент <includePath>
      • Элемент <ini>
      • Элемент <const>
      • Элемент <var>
      • Элемент <env>
      • Элемент <get>
      • Элемент <post>
      • Элемент <cookie>
      • Элемент <server>
      • Элемент <files>
      • Элемент <request>
  • 6. События
    • Application
    • TestRunner
    • TestSuite
    • Test
  • 7. Авторские права

© 2005–2026 Sebastian Bergmann
Licensed under the Creative Commons Attribution 3.0 Unported License.
https://docs.phpunit.de/en/13.2/index.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API