我想将PHPUnit和各种其他测试依赖项打包成一个phar并将其放入svn.这样我就可以在任何客户端机器上运行phpunit而无需使用pear.可以这样做吗?
关于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的当前状态一起工作,从来没有真正完成工作.
我并不是说不可能只是因为各种各样的人已经放弃了创建一个phpunit.phar,包括如何开发它的人.(这只是我的印象,我当然不能在这里代表塞巴斯蒂安而且可能完全错了,把这作为一个小小的免责声明)
您不必构建.phar就可以了!
对于我的公司,我维护了PHPUnit的svnd版本.这不是推荐的使用方式,但它没有太多问题!
按照"using from a git checkout"phpunit github网站上的说明进行操作.然后,您需要将这些文件放入您的php包含路径,它的工作原理.
我的建议是创建一个自定义的phpunit.sh来修改包含路径,然后调用原始的phpunit.sh传递所有参数.这是一个小工作,但它工作得很好,这比创建一个phar存档容易得多:)