Closed alexandermontgomery closed 10 years ago
Make sure your test files don't include the following line:
require_once 'PHPUnit/Autoload.php';
This is only required for older PEAR-based installs.
None of my files include that.
They used to include that and when I migrated off the old PEAR install to the PHAR I changed the line from
[old]
require_once 'PHPUnit/Autoload.php';
to [new]
require_once 'phar://phpunit.phar';
When my PHP file called updates.php hits the phar include, the script is stopped and this is outputted
PHPUnit 3.7.19 by Sebastian Bergmann.
Usage: phpunit [switches] UnitTest [UnitTest.php]
phpunit [switches] <directory>
--log-junit <file> Log test execution in JUnit XML format to file.
--log-tap <file> Log test execution in TAP format to file.
--log-json <file> Log test execution in JSON format.
--coverage-clover <file> Generate code coverage report in Clover XML format.
--coverage-html <dir> Generate code coverage report in HTML format.
--coverage-php <file> Serialize PHP_CodeCoverage object to file.
--coverage-text=<file> Generate code coverage report in text format.
Default to writing to the standard output.
--testdox-html <file> Write agile documentation in HTML format to file.
--testdox-text <file> Write agile documentation in Text format to file.
--filter <pattern> Filter which tests to run.
--testsuite <pattern> Filter which testsuite to run.
--group ... Only runs tests from the specified group(s).
--exclude-group ... Exclude tests from the specified group(s).
--list-groups List available test groups.
--test-suffix ... Only search for test in files with specified
suffix(es). Default: Test.php,.phpt
--loader <loader> TestSuiteLoader implementation to use.
--printer <printer> TestSuiteListener implementation to use.
--repeat <times> Runs the test(s) repeatedly.
--tap Report test execution progress in TAP format.
--testdox Report test execution progress in TestDox format.
--colors Use colors in output.
--stderr Write to STDERR instead of STDOUT.
--stop-on-error Stop execution upon first error.
--stop-on-failure Stop execution upon first error or failure.
--stop-on-skipped Stop execution upon first skipped test.
--stop-on-incomplete Stop execution upon first incomplete test.
--strict Run tests in strict mode.
-v|--verbose Output more verbose information.
--debug Display debugging information during test execution.
--process-isolation Run each test in a separate PHP process.
--no-globals-backup Do not backup and restore $GLOBALS for each test.
--static-backup Backup and restore static attributes for each test.
--bootstrap <file> A "bootstrap" PHP file that is run before the tests.
-c|--configuration <file> Read configuration from XML file.
--no-configuration Ignore default configuration file (phpunit.xml).
--include-path <path(s)> Prepend PHP's include_path with given path(s).
-d key[=value] Sets a php.ini value.
-h|--help Prints this usage information.
--version Prints the version and exits.
Oh, I think I misunderstood your original issue. Including the phar as a library is only supported by PHPUnit 4.2+ (see: f220079).
Ahh - thanks. So either I could unpackage the 3.7 phar, patch that in and rebuild the phar ... or use composer.
Thanks!
I am using the .phar version of 3.7.19. The phar is working fine from the CLI. The issue comes when I try to run tests programmatically from PHP. I continuously get this error:
When I just require the phpunit.phar, I see my PHP script output what you would get using PHPUnit from the CLI and then stop execution.
I don't seem to be the only person having this problem: http://stackoverflow.com/questions/18554981/phpunit-phar-and-no-such-file-or-directory.
I see the Autoloader in version 3.7 in the repo (https://github.com/sebastianbergmann/phpunit/blob/3.7/PHPUnit/Autoload.php) but I do not have much insight into how the phar is being built and why Autoload.php is not being included.
I wrote a quick PHP script to iterate all of the files within the phar in the PHPUnit directory and sure enough Autoload.php is nowhere to be found.
Script:
Output:
Any help would be much appreciated. If the 3.7 phar cannot work with calling it like this then maybe I will try composer. This would be worth noting in the documentation though.
Thanks!