使用HHVM运行phpunit测试(HipHop)

r.b*_*gil 10 php phpunit unit-testing hhvm

我试图在虚拟Ubuntu 12.04(64位服务器)安装上通过HHVM运行PHPUnit单元测试.测试通常使用位于我的tests目录中的phpunit.xml文件运行,该文件包含一个用于处理自动加载的引导文件,并且测试在普通的php安装上运行良好.但是,我一直在:

HipHop Fatal error: File not found: File/Iterator/Autoload.php in /usr/share/php/PHPUnit/Autoload.php on line 64
Run Code Online (Sandbox Code Playgroud)

运行时:

hhvm -f /usr/bin/phpunit /path/to/my/testsDirectory/SomeTest.php
Run Code Online (Sandbox Code Playgroud)

我还没有弄清楚如何使用bootstrap或配置文件在hhvm下运行phpunit ...任何帮助将不胜感激.

mar*_*cio 11

HHVM 2.4+

HHVM 2.4.0刚刚发布,它提供了完整的phpunit支持!只需给出phpunit二进制文件的完整路径,如下所示:

$ hhvm /usr/bin/phpunit
Run Code Online (Sandbox Code Playgroud)

干杯!


HHVM 2.3

从HHVM 维基测试这个一步一步的指南,它的工作原理.这是一个简化的指南:

在项目中,将以下条目添加到composer.json文件中:

"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 Code Online (Sandbox Code Playgroud)
  1. hhvm composer.phar install --dev.如果你做了一个广泛的安装,运行的作曲家系统hhvm /usr/local/bin/composer install --dev,它也可以.

  2. 将创建供应商目录.phpunit"二进制"将位于vendor/bin/phpunit

  3. 要为您的项目运行PHPUnit: hhvm vendor/bin/phpunit [optional arguments]

注意:可能在不太遥远的未来hhvm /usr/local/bin/phpunit [optional arguments]将按预期工作,但现在这是我们最简单的选择


小智 5

只需添加一个注释即可添加到@cabbey的asnwer:您可以IncludeSearchPaths使用以下-v选项设置值:

hhvm -v Server.IncludeSearchPaths.share=/usr/share/php/ $(which phpunit) MyTests.php
Run Code Online (Sandbox Code Playgroud)