Во время выполнения тестов PHPUnit может выполнять дополнительные проверки описанные ниже.
PHPUnit может строго относится к тестам которые ни чего не тестируют. Данная проверка может быть установлена опцией --report-useless-tests
коммандной строки или с помощью установки атрибута beStrictAboutTestsThatDoNotTestAnything="true"
в XML файле конфигурации.
Если данная проверка включена, то тесты которые не содержат проверок утверждений будут помечены как опасные. Ожидания на мок объектах или такие
аннотации как @expectedException
считаются утверждениями.
PHPUnit может строго относится к коду который покрыт непреднамерренно. Данная проверка может быть установлена опцией --strict-coverage
коммандной строки или с помощью установки атрибута checkForUnintentionallyCoveredCode="true"
в XML файле конфигурации.
Если данная проверка включена, то тесты которые не содержат аннотацию @covers
и выполняют код который не указан с помощью @covers
или @uses
будут помечены как опасные.
PHPUnit может строго относится к выводу во время тестов. Данная проверка может быть установлена опцией --disallow-test-output
коммандной строки или с помощью установки атрибута beStrictAboutOutputDuringTests="true"
в XML файле конфигурации.
Если данная проверка включена, то тест который генерирует вывод, например, выполнение print
либо в коде самомго теста либо в тестируемом коде, будут помечены как опасные.
Если установлен пакет PHP_Invoker
и доступно расширение pcntl
, то для теста может быть настроен лимит времени выполнения.
Настройка времени выполнения может быть установлена опцией --enforce-time-limit
коммандной строки или с помощью установки атрибута beStrictAboutTestSize="true"
в XML файле конфигурации.
Тесты с анотацией @large
будут считаться непройдеными если они выполняются дольше 60 секунд. Данный лимит времени настривается с помощью атрибута timeoutForLargeTests
в XML файле конфигурации.
Тесты с анотацией @medium
будут считаться непройдеными если они выполняются дольше 10 секунд. Данный лимит времени настривается с помощью атрибута timeoutForMediumTests
в XML файле конфигурации.
Тесты не содержащие ни одной из анотаций @large
или @medium
считаются объявленными как @small
.
Такие тесты будут считаться непройдеными если они выполняются дольше 1 секунды.
Данный лимит времени настривается с помощью атрибута timeoutForSmallTests
в XML файле конфигурации.
PHPUnit может строго относится к изменению глобального состояния. Данная проверка может быть установлена опцией --strict-global-state
коммандной строки или с помощью установки атрибута beStrictAboutChangesToGlobalState="true"
в XML файле конфигурации.