【问题标题】:Install multiple version of PHPUnit via composer通过 composer 安装多个版本的 PHPUnit
【发布时间】:2015-01-21 07:56:43
【问题描述】:

我正在使用ZendFramework 1.x & 2.x,不幸的是ZendFramework 1.x 仅支持PHPUnit 3.xZend Framework 2.x 需要PHPUnit 4.x

为此我想安装 2 个版本的 PHPUnit,这是我尝试过的 composer.json 文件。

{
    "repositories": [{
        "type": "pear",
        "url": "http://pear.symfony-project.com"
    },{
        "type": "pear",
        "url": "http://pear.phpunit.de"
    }],
    "require-dev": {
        "pear-pear.phpunit.de/PHPUnit": "3.4.*",
        "phpunit/phpunit": "*"
    }
}

我收到以下消息。

跳过安装 phpunit/phpunit 包的 bin phpunit: name 与现有文件冲突

vendor/bin 目录中安装时,我可以告诉作曲家使用不同的名称吗?例如"pear-pear.phpunit.de/PHPUnit": "3.4.*" 使用vendor/bin/pu34 & "phpunit/phpunit": "*" 使用vendor/bin/pu

是否可以在作曲家中做到这一点?

【问题讨论】:

    标签: zend-framework zend-framework2 phpunit composer-php


    【解决方案1】:

    Composer 不支持安装multiple versions of the same package

    您唯一能做的就是安装一个(或两个)作为phar。但随后它们将不会在composer.json 中定义。

    【讨论】:

      【解决方案2】:

      我会挑战 Zend Framework 1 仅支持 PHPUnit 3.x 的假设。

      我在 3.7 和 4.0 之间看到的变化在您通常工作的领域(即PHPUnit_Framework_TestCase)中并没有真正突破。改变的是听众等的所有东西,现在必须对“风险测试”的新概念做出反应,但我不知道 Zend Framework 会使用任何东西。

      我想说两件事:

      1. 支持PHPUnit的版本不是Zend Framework,应该是你。您负责编写测试,如果应用程序从 ZF1 迁移到 ZF2,您还应该迁移测试集成。如果这意味着更改 Zend_Test_PHPUnit_ControllerTestCase 以使其与 PHPUnit 4 一起使用,那就去吧! :)
      2. 请尽量不要再使用 PHPUnit 或 Symfony 的 PEAR 分发渠道。这些将在一段时间内关闭,

      【讨论】:

      • 谢谢,我可以找到“Zend_Test_PHPUnit_ControllerTestCase”的修复程序,使其与 PHPUnit 4.0 兼容。
      • @IbrahimAzharArmar 您是否找到了使 Zend_Test_PHPUnit_ControllerTestCase 与新版本的 PHPUnit 兼容的修复程序?如果是这样,你能和我们分享一下吗?
      • @IbrahimAzharArmar 谢谢老兄!事实证明,较新版本的 ZF1 (1.12.7+) 已更新为支持比 3.4 更新的 PHPUnit 版本。我正在使用 4.1,这似乎也可以。发现这篇文章的其他人可以read more here
      猜你喜欢
      • 2014-12-25
      • 2023-04-04
      • 2010-12-06
      • 2016-03-29
      • 1970-01-01
      • 2011-09-10
      • 2017-09-20
      • 2014-04-21
      • 2014-06-19
      相关资源
      最近更新 更多