PHPUnit
1. Установка PHPUnit
Требования
PHP Archive (PHAR)
Windows
Проверка релизов PHPUnit PHAR
Composer
Необязательные пакеты
2. Написание тестов на PHPUnit
Зависимости тестов
Провайдеры данных
Тестирование исключений
Тестирование ошибок PHP
Тестирования вывода
Вывод ошибки
Крайние случаи
3. Исполнитель тестов командной строки
Опции командной строки
TestDox
4. Фикстуры
Больше setUp() чем tearDown()
Разновидности
Совместное использование фикстур
Глобальное состояние
5. Организация тестов
Составление набора тестов с помощью файловой системы
Составление набора тестов с помощью конфигурации XML
6. Рискованные тесты
Бесполезные тесты
Непреднамеренно покрытый код
Вывод во время выполнения теста
Тайм-аут выполнения теста
Манипуляция глобальным состоянием
7. Неполные и пропущенные тесты
Неполные тесты
Пропущенные тесты
Пропуск тестов с помощью @requires
8. Тестирование базы данных
Поддерживаемые поставщики для тестирования баз данных
Трудности при тестировании баз данных
Четыре этапа теста базы данных
1. Очистка базы данных
2. Настройка фикстуры
3–5. Запуск теста, проверка результата и очистка
Конфигурация PHPUnit Database TestCase
Реализация getConnection()
Реализация getDataSet()
Как насчёт схемы базы данных (Database Schema, DDL)?
Совет: Используйте собственную абстрактную реализацию PHPUnit Database TestCase
Понимание DataSets и DataTables
Доступные реализации
Flat XML DataSet
XML DataSet
MySQL XML DataSet
YAML DataSet
CSV DataSet
Array DataSet
Query (SQL) DataSet
Database (DB) Dataset
Замена DataSet
DataSet Filter
Составной DataSet
Остерегайтесь внешних ключей
Реализация собственного DataSets/DataTables
Использование API подключения к базе данных
API утверждений базы данных
Утверждение количество строк таблицы
Утверждение состояния таблицы
Утверждение результата запроса
Утверждение состояния нескольких таблиц
Часто задаваемые вопросы
Будет ли PHPUnit (повторно) создавать схему базу данных для каждого теста?
Необходимо ли мне обязательно использовать PDO в моём приложении для расширения базы данных?
Что мне делать, когда я получаю ошибку «Too much Connections»?
Как обрабатывать NULL в наборах данных Flat XML / CSV?
9. Тестовые двойники
Заглушки
Подставные объекты
Prophecy
Имитация трейтов и абстрактных классов
Создание заглушек и имитация веб-сервисов
Имитация файловой системы
10. Анализ покрытия кода
Показатели программного обеспечения покрытия кода
Белый список файлов
Игнорирование блоков кода
Определение покрытых методов
Крайние случаи
11. Логирование
Результаты теста (XML)
Покрытие кода (XML)
Покрытие кода (TEXT)
12. Расширение PHPUnit
Подкласс PHPUnit\Framework\TestCase
Написание пользовательских утверждений
Реализация PHPUnit\Framework\TestListener
Реализация PHPUnit\Framework\Test
Расширение TestRunner
Интерфейсы доступных событий
Приложение
1. Утверждения
Статическое в сравнении с нестатическим использованием методов утверждения
assertArrayHasKey()
assertClassHasAttribute()
assertArraySubset()
assertClassHasStaticAttribute()
assertContains()
assertContainsOnly()
assertContainsOnlyInstancesOf()
assertCount()
assertDirectoryExists()
assertDirectoryIsReadable()
assertDirectoryIsWritable()
assertEmpty()
assertEqualXMLStructure()
assertEquals()
assertFalse()
assertFileEquals()
assertFileExists()
assertFileIsReadable()
assertFileIsWritable()
assertGreaterThan()
assertGreaterThanOrEqual()
assertInfinite()
assertInstanceOf()
assertInternalType()
assertIsReadable()
assertIsWritable()
assertJsonFileEqualsJsonFile()
assertJsonStringEqualsJsonFile()
assertJsonStringEqualsJsonString()
assertLessThan()
assertLessThanOrEqual()
assertNan()
assertNull()
assertObjectHasAttribute()
assertRegExp()
assertStringMatchesFormat()
assertStringMatchesFormatFile()
assertSame()
assertStringEndsWith()
assertStringEqualsFile()
assertStringStartsWith()
assertThat()
assertTrue()
assertXmlFileEqualsXmlFile()
assertXmlStringEqualsXmlFile()
assertXmlStringEqualsXmlString()
2. Аннотации
@author
@after
@afterClass
@backupGlobals
@backupStaticAttributes
@before
@beforeClass
@codeCoverageIgnore*
@covers
@coversDefaultClass
@coversNothing
@dataProvider
@depends
@doesNotPerformAssertions
@expectedException
@expectedExceptionCode
@expectedExceptionMessage
@expectedExceptionMessageRegExp
@group
@large
@medium
@preserveGlobalState
@requires
@runTestsInSeparateProcesses
@runInSeparateProcess
@small
@test
@testdox
@testWith
@ticket
@uses
3. Конфигурационный XML-файл
PHPUnit
Набор тестов
Группы
Файлы в белом списке для покрытия кода
Логирование
Обработчики тестов
Регистрация расширений TestRunner
Установка INI-настроек, констант и глобальных переменных PHP
4. Библиография
5. Авторские права
PHPUnit
Docs
»
Алфавитный указатель
Edit on GitHub
Алфавитный указатель
Read the Docs
v: latest
Versions
latest
Downloads
pdf
htmlzip
epub
On Read the Docs
Project Home
Builds
Free document hosting provided by
Read the Docs
.