带有 HHVM 3.11 的 phpunit

phpunit with HHVM 3.11

根据 Running phpunit tests using HHVM (HipHop) 的公认答案,我尝试 运行 一些测试:

unit-tests/ [develop] > hhvm $(which phpunit) --colors -c phpunit.xml --testsuite all .

/usr/bin/env php -d allow_url_fopen=On -d detect_unicode=Off /usr/local/Cellar/phpunit/4.3.4/libexec/phpunit-4.3.4.phar $*

这似乎是 运行 测试的命令(它确实如此),但我对

感到困惑
  1. 为什么它打印这个命令而不只是 运行测试
  2. 是否执行该命令甚至使用 HHVM,因为它以 /usr/bin/env php...
  3. 开头

有没有人对此有任何见解?非常感谢!

这里发生的事情是您使用自制软件安装了 PHPUnit,因此它为实际的 PHAR 文件创建了一个包装脚本。该包装器脚本是一个 Bash 脚本,它 运行 是 PHPUnit PHAR,并且该脚本是您试图让 HHVM 达到 运行 的脚本。由于不是PHP或Hack脚本,直接输出Bash脚本

相反,您可能想尝试执行 $(brew --prefix phpunit)/libexec/phpunit*.phar

例如:hhvm $(brew --prefix phpunit)/libexec/phpunit*.phar --colors -c phpunit.xml --testsuite all .

通配符使您无需指定正在使用的PHP单元的版本。