I am trying to run PHPUnit unit tests via HHVM on a virtual Ubuntu 12.04 (64-bit Server) install. The tests usually run using a phpunit.xml file located in my tests directory, which includes a bootstrap file to handle autoloading, and the tests run fine on an ordinary php install. However, I keep getting:
HipHop Fatal error: File not found: File/Iterator/Autoload.php in /usr/share/php/PHPUnit/Autoload.php on line 64
When running:
hhvm -f /usr/bin/phpunit /path/to/my/testsDirectory/SomeTest.php
And I haven't been able to figure out how to run phpunit under hhvm using a bootstrap or config file... Any help would be appreciated.
HHVM 2.4.0 was just released and it came with full phpunit support! Just give the full path to phpunit binary, like this:
$ hhvm /usr/bin/phpunit
Cheers!
Tested this step by step guide from HHVM wiki and it works. Here is a simplified guide:
On your project, add the following entries to your composer.json file:
"require-dev": {
"phpunit/phpunit": "3.7.*",
"phpunit/php-invoker": "1.1.3",
"phpunit/dbunit": "1.2.3",
"phpunit/phpunit-selenium": "1.3.2",
"phpunit/phpunit-story": "1.0.2"
}
Run hhvm composer.phar install --dev
. If you did a composer system wide install, run hhvm /usr/local/bin/composer install --dev
, it works too.
A vendor directory will be created. The phpunit "binary" will be located at vendor/bin/phpunit
To run PHPUnit for your project: hhvm vendor/bin/phpunit [optional arguments]
Note: Probably in a not so distant future
hhvm /usr/local/bin/phpunit [optional arguments]
will work as expected, but right now this is the easiest option we have
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With