当前状态:
phpunit.phar 的工作已开始于phpunit repo但生成的 phar 不稳定且功能不完整。
如果到达那里将会有正式版本
原答案:
如果可以的话,我会给你 500 代表,100 雄鹿和我的第一个孩子......好吧不......只是前两个。
严肃地说:
我已经在至少 3 个会议上就这个话题向 PHPUnit 的创建者抱怨过,但是……这似乎是不可能的。
这有几个问题。首先,PHPUnit 生成新的 php 进程以进行测试隔离。问题是 Phar 无法分辨哪个 php 可执行文件调用了它。因此,如果您使用自定义编译版本启动 phpunit,它将使用安装的“默认”php 来生成隔离测试。
其次,据我所知并被告知不可能将图像和 css 等静态文件放入 Phar 中。这使得生成代码覆盖率变得更加困难。这需要在这方面做一些工作。
还有其他问题,我无法准确回忆起与 xDebug 能够为 phars 提供代码覆盖率(以及 phpunit 依赖于不为其自己的代码生成超额等)和其他问题有关的问题。
There once was a phar但根据我的理解,这对于 phpunit 的当前状态来说是行不通的,而且永远不会really完全有效。
我并不是说这是不可能的,只是很多人已经放弃了创建 phpunit.phar ,包括开发它的人。 (这只是我的印象,我当然不能在这里代表塞巴斯蒂安,可能完全错误,将此作为一个小小的免责声明)
将 PHPUnit 放入 SVN
您不必构建 .phar 即可执行此操作!
对于我的公司,我维护 PHPUnit 的 svnd 版本。这不是推荐的使用方式,但它的工作原理没有太多问题!
跟着"using from a git checkout"phpunit github 站点上的说明。然后你需要将这些文件放入你的 php include 路径中,它就可以工作了。
我的建议是创建一个自定义 phpunit.sh 来修改包含路径,然后调用原始 phpunit.sh 传递所有参数。这需要一点工作,但效果很好,而且比创建 phar 存档要容易得多:)