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


© Copyright 2018, Sebastian Bergmann. Revision 65b89c43.