7

我正在为一些项目使用 Zend Framework,并希望为它们构建 PHPUnit 测试套件。不幸的是,当前版本(1.11.x)中的 Zend Framework 仅支持 PHPUnit 3.5。同时,我也想开始使用 Symfony 框架,它又支持更新版本的 PHPUnit。那么问题是,如何在我的开发机器上同时运行多个版本的 PHPUnit,而无需安装单独的服务器或类似的东西?

我正在运行 OS X Lion (10.7) 并使用通过 MacPorts 安装的 apache 和 php (5.3.10)。理想情况下,我想在这样的情况下结束,我可以简单地在终端中键入例如 phpunit5 来执行 3.5 版本,然后键入 phpunit6 来执行 3.6 版本,依此类推。

4

3 回答 3

4

我建议您查看此博客文章:

如需厨师食谱,请查看我的博客文章:

如果链接停止工作:

  • 梨支持--installroot开关
  • 例子:

    pear install --installroot /some/path/phpunit34 pear.phpunit.de/PHPUnit-3.4.15

安装后,您可能必须添加/some/path/phpunit34/usr/bin/$PATH创建符号链接才能/usr/bin像博客文章所示。

高温高压

于 2012-05-08T19:53:08.347 回答
1

接受的答案在您安装 phpunit 3.4 时有效,但如果您希望安装 phpunit 3.5(也可用于 Zend 项目中的单元测试,尽管 Zends 自己的测试可能不会全部通过),您必须遵循稍微不同的路径。在安装 phpunit 之前,您需要单独安装 phpunit 3.5 的依赖项,否则某些依赖项只会强制安装 phpunit 3.6:

首先安装(注意 -f 选项,它强制安装特定版本):

sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.symfony-project.com/YAML-1.0.2
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/PHPUnit_Selenium-1.0.1
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/PHP_Timer-1.0.0
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/Text_Template-1.0.0
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/PHPUnit_MockObject-1.0.3
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/File_Iterator-1.2.3
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/PHP_CodeCoverage-1.0.2
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/DbUnit-1.0.0
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/PHPUnit-3.5.15

然后按照已接受答案链接中的说明更改包含路径并正确符号链接。

于 2012-05-09T09:53:19.000 回答
0

PHPUnit 现在在https://phar.phpunit.de/上为其所有版本提供捆绑的 PHAR 文件

只需下载所需的版本并使用以下命令调用它们:

php phpunit-X.Y.Z.phar  

(PHPUnit 版本在哪里X.Y.Z

PHAR 文件可以很容易地使用别名,以使它们在系统范围内可用。

于 2017-05-02T19:03:03.563 回答