From 200877d691a0cd8048518cfc8b1efe5de01cb1ba Mon Sep 17 00:00:00 2001 From: Owen Voke Date: Thu, 12 Nov 2020 09:44:26 +0000 Subject: [PATCH] tests: update to use snapshot for help output --- tests/.snapshots/help-command.txt | 117 ++++++++++++++++++++++++++++++ tests/Visual/Help.php | 16 +++- 2 files changed, 131 insertions(+), 2 deletions(-) create mode 100644 tests/.snapshots/help-command.txt diff --git a/tests/.snapshots/help-command.txt b/tests/.snapshots/help-command.txt new file mode 100644 index 00000000..4a227a23 --- /dev/null +++ b/tests/.snapshots/help-command.txt @@ -0,0 +1,117 @@ + +Usage: + phpunit [options] UnitTest.php + phpunit [options] + +Code Coverage Options: + + --coverage-clover Generate code coverage report in Clover XML format + --coverage-cobertura Generate code coverage report in Cobertura XML format + --coverage-crap4j Generate code coverage report in Crap4J XML format + --coverage-html Generate code coverage report in HTML format + --coverage-php Export PHP_CodeCoverage object to file + --coverage-text Generate code coverage report in text format [default: standard output] + --coverage-xml Generate code coverage report in PHPUnit XML format + --coverage-cache Cache static analysis results + --warm-coverage-cache Warm static analysis cache + --coverage-filter Include in code coverage analysis + --path-coverage Perform path coverage analysis + --disable-coverage-ignore Disable annotations for ignoring code coverage + --no-coverage Ignore code coverage configuration + +Logging Options: + + --log-junit Log test execution in JUnit XML format to file + --log-teamcity Log test execution in TeamCity format to file + --testdox-html Write agile documentation in HTML format to file + --testdox-text Write agile documentation in Text format to file + --testdox-xml Write agile documentation in XML format to file + --reverse-list Print defects in reverse order + --no-logging Ignore logging configuration + +Test Selection Options: + + --list-suites List available test suites + --testsuite Filter which testsuite to run + --list-groups List available test groups + --group Only runs tests from the specified group(s) + --exclude-group Exclude tests from the specified group(s) + --covers Only runs tests annotated with "@covers " + --uses Only runs tests annotated with "@uses " + --list-tests List available tests + --list-tests-xml List available tests in XML format + --filter Filter which tests to run + --test-suffix Only search for test in files with specified suffix(es). Default: Test.php,.phpt + +Test Execution Options: + + --dont-report-useless-tests Do not report tests that do not test anything + --strict-coverage Be strict about @covers annotation usage + --strict-global-state Be strict about changes to global state + --disallow-test-output Be strict about output during tests + --disallow-resource-usage Be strict about resource usage during small tests + --enforce-time-limit Enforce time limit based on test size + --default-time-limit Timeout in seconds for tests without @small, @medium or @large + --disallow-todo-tests Disallow @todo-annotated tests + + --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 attributes for each test + + --colors Use colors in output ("never", "auto" or "always") + --columns 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 + --stop-on-defect Stop execution upon first not-passed test + --stop-on-error Stop execution upon first error + --stop-on-failure Stop execution upon first error or failure + --stop-on-warning Stop execution upon first warning + --stop-on-risky Stop execution upon first risky test + --stop-on-skipped Stop execution upon first skipped test + --stop-on-incomplete Stop execution upon first incomplete test + --fail-on-incomplete Treat incomplete tests as failures + --fail-on-risky Treat risky tests as failures + --fail-on-skipped Treat skipped tests as failures + --fail-on-warning Treat tests with warnings as failures + -v|--verbose Output more verbose information + --debug Display debugging information + + --repeat Runs the test(s) repeatedly + --teamcity Report test execution progress in TeamCity format + --testdox Report test execution progress in TestDox format + --testdox-group Only include tests from the specified group(s) + --testdox-exclude-group Exclude tests from the specified group(s) + --no-interaction Disable TestDox progress animation + --printer TestListener implementation to use + + --order-by Run tests in order: default|defects|duration|no-depends|random|reverse|size + --random-order-seed Use a specific random seed for random order + --cache-result Write test results to cache file + --do-not-cache-result Do not write test results to cache file + +Configuration Options: + + --prepend A PHP script that is included as early as possible + --bootstrap A PHP script that is included before the tests run + -c|--configuration Read configuration from XML file + --no-configuration Ignore default configuration file (phpunit.xml) + --extensions A comma separated list of PHPUnit extensions to load + --no-extensions Do not load PHPUnit extensions + --include-path Prepend PHP's include_path with given path(s) + -d Sets a php.ini value + --cache-result-file Specify result cache path and filename + --generate-configuration Generate configuration file with suggested settings + --migrate-configuration Migrate configuration file to current format + +Miscellaneous Options: + + -h|--help Prints this usage information + --version Prints the version and exits + --atleast-version Checks that version is greater than min and exits + --check-version Check whether PHPUnit is the latest version + +Pest Options: + --init Initialise a standard Pest configuration + --coverage Enable coverage and output to standard output + --min= Set the minimum required coverage percentage (), and fail if not met + --group= Only runs tests from the specified group(s) diff --git a/tests/Visual/Help.php b/tests/Visual/Help.php index e1382461..6021ec58 100644 --- a/tests/Visual/Help.php +++ b/tests/Visual/Help.php @@ -1,6 +1,8 @@ getOutput(); }; - expect($output())->toContain('Pest Options:'); -}); + if (getenv('REBUILD_SNAPSHOTS')) { + // Strip versions from start of snapshot + $outputContent = preg_replace([ + '/Pest \s+\d+\.\d+\.\d+\s+/m', + '/PHPUnit \d+\.\d+\.\d+\s+.*?\n/m' + ], '', $output()); + + file_put_contents($snapshot, $outputContent); + } + + expect($output())->toContain(file_get_contents($snapshot)); +})->skip(PHP_OS_FAMILY === 'Windows');