Reference

phpunit(1)

PHPUnit command line interface

NAME

phpunit - PHPUnit command line interface

SYNOPSIS

phpunit [options] <directory|file> ...

DESCRIPTION

Configuration:

--bootstrap <file>

A PHP script that is included before the tests run

-c|--configuration <file>

Read configuration from XML file

--no-configuration

Ignore default configuration file (phpunit.xml)

--extension <class>

Register test runner extension with bootstrap <class>

--no-extensions

Do not register test runner extensions

--include-path <path(s)>

Prepend PHP's include_path with given path(s)

-d <key[=value]>

Sets a php.ini value

--cache-directory <dir>

Specify cache directory

--generate-configuration

Generate configuration file with suggested settings

--migrate-configuration

Migrate configuration file to current format

--generate-baseline <file>

Generate baseline for issues

--use-baseline <file>

Use baseline to ignore issues

--ignore-baseline

Do not use baseline to ignore issues

Selection:

--list-suites

List available test suites

--testsuite <name>

Only run tests from the specified test suite(s)

--exclude-testsuite <name>

Exclude tests from the specified test suite(s)

--list-groups

List available test groups

--group <name>

Only run tests from the specified group(s)

--exclude-group <name>

Exclude tests from the specified group(s)

--covers <name>

Only run tests that intend to cover <name>

--uses <name>

Only run tests that intend to use <name>

--requires-php-extension <name>

Only run tests that require PHP extension <name>

--list-test-files

List available test files

--list-tests

List available tests

--list-tests-xml <file>

List available tests in XML format

--filter <pattern>

Filter which tests to run

--exclude-filter <pattern>

Exclude tests for the specified filter pattern

--test-suffix <suffixes>

Only search for test in files with specified suffix(es). Default: Test.php,.phpt

Execution:

--process-isolation

Run each test in a separate PHP process

--globals-backup

Backup and restore $GLOBALS for each test

--static-backup

Backup and restore static properties for each test

--strict-coverage

Be strict about code coverage metadata

--strict-global-state

Be strict about changes to global state

--disallow-test-output

Be strict about output during tests

--enforce-time-limit

Enforce time limit based on test size

--default-time-limit <sec>

Timeout in seconds for tests that have no declared size

--dont-report-useless-tests

Do not report tests that do not test anything

--stop-on-defect

Stop after first error, failure, warning, or risky test

--stop-on-error

Stop after first error

--stop-on-failure

Stop after first failure

--stop-on-warning

Stop after first warning

--stop-on-risky

Stop after first risky test

--stop-on-deprecation

Stop after first test that triggered a deprecation

--stop-on-notice

Stop after first test that triggered a notice

--stop-on-skipped

Stop after first skipped test

--stop-on-incomplete

Stop after first incomplete test

--fail-on-empty-test-suite

Signal failure using shell exit code when no tests were run

--fail-on-warning

Signal failure using shell exit code when a warning was triggered

--fail-on-risky

Signal failure using shell exit code when a test was considered risky

--fail-on-deprecation

Signal failure using shell exit code when a deprecation was triggered

--fail-on-phpunit-deprecation

Signal failure using shell exit code when a PHPUnit deprecation was triggered

--fail-on-notice

Signal failure using shell exit code when a notice was triggered

--fail-on-skipped

Signal failure using shell exit code when a test was skipped

--fail-on-incomplete

Signal failure using shell exit code when a test was marked incomplete

--fail-on-all-issues

Signal failure using shell exit code when an issue is triggered

--cache-result

Write test results to cache file

--do-not-cache-result

Do not write test results to cache file

--order-by <order>

Run tests in order: default|defects|depends|duration|no-depends|random|reverse|size

--random-order-seed <N>

Use the specified random seed when running tests in random order

Reporting:

--colors <flag>

Use colors in output ("never", "auto" or "always")

--columns <n>

Number of columns to use for progress output

--columns max

Use maximum number of columns for progress output

--stderr

Write to STDERR instead of STDOUT

--no-progress

Disable output of test execution progress

--no-results

Disable output of test results

--no-output

Disable all output

--display-incomplete

Display details for incomplete tests

--display-skipped

Display details for skipped tests

--display-deprecations

Display details for deprecations triggered by tests

--display-phpunit-deprecations

Display details for PHPUnit deprecations

--display-errors

Display details for errors triggered by tests

--display-notices

Display details for notices triggered by tests

--display-warnings

Display details for warnings triggered by tests

--display-all-issues

Display details for all issues that are triggered

--reverse-list

Print defects in reverse order

--teamcity

Replace default progress and result output with TeamCity format

--testdox

Replace default result output with TestDox format

--testdox-summary

Repeat TestDox output for tests with errors, failures, or issues

--debug

Replace default progress and result output with debugging information

Logging:

--log-junit <file>

Write test results in JUnit XML format to file

--log-teamcity <file>

Write test results in TeamCity format to file

--testdox-html <file>

Write test results in TestDox format (HTML) to file

--testdox-text <file>

Write test results in TestDox format (plain text) to file

--log-events-text <file>

Stream events as plain text to file

--log-events-verbose-text <file>

Stream events as plain text with extended information to file

--no-logging

Ignore logging configured in the XML configuration file

Code Coverage:

--coverage-clover <file>

Write code coverage report in Clover XML format to file

--coverage-cobertura <file>

Write code coverage report in Cobertura XML format to file

--coverage-crap4j <file>

Write code coverage report in Crap4J XML format to file

--coverage-html <dir>

Write code coverage report in HTML format to directory

--coverage-php <file>

Write serialized code coverage data to file

--coverage-text=<file>

Write code coverage report in text format to file [default: standard output]

--only-summary-for-coverage-text

Option for code coverage report in text format: only show summary

--show-uncovered-for-coverage-text Option for code coverage report in text format: show uncovered files

--coverage-xml <dir>

Write code coverage report in XML format to directory

--warm-coverage-cache

Warm static analysis cache

--coverage-filter <dir>

Include <dir> in code coverage reporting

--path-coverage

Report path coverage in addition to line coverage

--disable-coverage-ignore

Disable metadata for ignoring code coverage

--no-coverage

Ignore code coverage reporting configured in the XML configuration file

Miscellaneous:

-h|--help

Prints this usage information

--version

Prints the version and exits

--atleast-version <min>

Checks that version is greater than <min> and exits

--check-version

Checks whether PHPUnit is the latest version and exits

History

--atleast-version since Debian 9 (Stretch); --bootstrap since Debian 6.0 (Squeeze); --cache-directory since Debian 13 (Trixie); --cache-result since Debian 10 (Buster); --check-version since Debian 10 (Buster); --colors since Debian 6.0 (Squeeze); --columns since Debian 9 (Stretch); --coverage-clover since Debian 8 (Jessie); --coverage-cobertura since Debian 13 (Trixie); --coverage-crap4j since Debian 8 (Jessie); --coverage-filter since Debian 11 (Bullseye); --coverage-html since Debian 6.0 (Squeeze); --coverage-php since Debian 8 (Jessie); --coverage-text since Debian 8 (Jessie); --coverage-xml since Debian 8 (Jessie); --covers since Debian 11 (Bullseye); --debug since Debian 8 (Jessie); --default-time-limit since Debian 10 (Buster); --disable-coverage-ignore since Debian 10 (Buster); --disallow-test-output since Debian 8 (Jessie); --display-all-issues since Debian 13 (Trixie); --display-deprecations since Debian 13 (Trixie); --display-errors since Debian 13 (Trixie); --display-incomplete since Debian 13 (Trixie); --display-notices since Debian 13 (Trixie); --display-phpunit-deprecations since Debian 13 (Trixie); --display-skipped since Debian 13 (Trixie); --display-warnings since Debian 13 (Trixie); --do-not-cache-result since Debian 11 (Bullseye); --dont-report-useless-tests since Debian 13 (Trixie); --enforce-time-limit since Debian 8 (Jessie); --exclude-filter since Debian 13 (Trixie); --exclude-testsuite since Debian 13 (Trixie); --extension since Debian 13 (Trixie); --fail-on-all-issues since Debian 13 (Trixie); --fail-on-deprecation since Debian 13 (Trixie); --fail-on-empty-test-suite since Debian 13 (Trixie); --fail-on-incomplete since Debian 11 (Bullseye); --fail-on-notice since Debian 13 (Trixie); --fail-on-phpunit-deprecation since Debian 13 (Trixie); --fail-on-risky since Debian 9 (Stretch); --fail-on-skipped since Debian 11 (Bullseye); --fail-on-warning since Debian 9 (Stretch); --generate-baseline since Debian 13 (Trixie); --generate-configuration since Debian 9 (Stretch); --globals-backup since Debian 10 (Buster); --ignore-baseline since Debian 13 (Trixie); --include-path since Debian 8 (Jessie); --list-groups since Debian 6.0 (Squeeze); --list-suites since Debian 10 (Buster); --list-test-files since Debian 13 (Trixie); --list-tests since Debian 10 (Buster); --list-tests-xml since Debian 10 (Buster); --log-events-text since Debian 13 (Trixie); --log-events-verbose-text since Debian 13 (Trixie); --log-junit since Debian 6.0 (Squeeze); --log-teamcity since Debian 9 (Stretch); --migrate-configuration since Debian 11 (Bullseye); --no-configuration since Debian 6.0 (Squeeze); --no-coverage since Debian 9 (Stretch); --no-extensions since Debian 10 (Buster); --no-logging since Debian 10 (Buster); --no-output since Debian 13 (Trixie); --no-progress since Debian 13 (Trixie); --no-results since Debian 13 (Trixie); --only-summary-for-coverage-text since Debian 13 (Trixie); --order-by since Debian 10 (Buster); --path-coverage since Debian 11 (Bullseye); --process-isolation since Debian 6.0 (Squeeze); --random-order-seed since Debian 10 (Buster); --requires-php-extension since Debian 13 (Trixie); --reverse-list since Debian 9 (Stretch); --static-backup since Debian 6.0 (Squeeze); --stderr since Debian 6.0 (Squeeze); --stop-on-defect since Debian 10 (Buster); --stop-on-deprecation since Debian 13 (Trixie); --stop-on-error since Debian 8 (Jessie); --stop-on-incomplete since Debian 8 (Jessie); --stop-on-notice since Debian 13 (Trixie); --stop-on-risky since Debian 8 (Jessie); --stop-on-skipped since Debian 8 (Jessie); --stop-on-warning since Debian 9 (Stretch); --strict-coverage since Debian 8 (Jessie); --strict-global-state since Debian 9 (Stretch); --teamcity since Debian 9 (Stretch); --test-suffix since Debian 8 (Jessie); --testdox-summary since Debian 13 (Trixie); --testsuite since Debian 8 (Jessie); --use-baseline since Debian 13 (Trixie); --uses since Debian 11 (Bullseye); --warm-coverage-cache since Debian 11 (Bullseye).

--cache-result-file until Debian 12 (Bookworm); --configuration until Debian 7 (Wheezy); --coverage-cache until Debian 12 (Bookworm); --coverage-source until Debian 7 (Wheezy); --disallow-resource-usage until Debian 12 (Bookworm); --disallow-todo-tests until Debian 12 (Bookworm); --extensions until Debian 12 (Bookworm); --help until Debian 7 (Wheezy); --loader until Debian 10 (Buster); --log-json until Debian 9 (Stretch); --log-tap until Debian 9 (Stretch); --log-xml until Debian 5.0 (Lenny); --no-globals-backup until Debian 9 (Stretch); --no-interaction until Debian 12 (Bookworm); --no-syntax-check until Debian 5.0 (Lenny); --prepend until Debian 12 (Bookworm); --printer until Debian 12 (Bookworm); --repeat until Debian 12 (Bookworm); --report-useless-tests until Debian 9 (Stretch); --resolve-dependencies until Debian 10 (Buster); --skeleton until Debian 5.0 (Lenny); --skeleton-class until Debian 7 (Wheezy); --skeleton-test until Debian 7 (Wheezy); --story until Debian 7 (Wheezy); --story-html until Debian 7 (Wheezy); --story-text until Debian 7 (Wheezy); --strict until Debian 8 (Jessie); --syntax-check until Debian 7 (Wheezy); --tap until Debian 9 (Stretch); --test-db-dsn until Debian 5.0 (Lenny); --test-db-log-rev until Debian 5.0 (Lenny); --test-db-prefix until Debian 5.0 (Lenny); --testdox-exclude-group until Debian 12 (Bookworm); --testdox-group until Debian 12 (Bookworm); --testdox-xml until Debian 12 (Bookworm); --verbose until Debian 7 (Wheezy); --wait until Debian 7 (Wheezy); --whitelist until Debian 10 (Buster).