通过composer安装多个版本的PHPUnit

时间:2014-11-23 15:34:33

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

我正在使用ZendFramework 1.x & 2.x,不幸的是ZendFramework 1.x只支持PHPUnit 3.x& Zend 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:name跳过bin phpunit的安装   与现有文件冲突

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

可以在作曲家中这样做吗?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

我会质疑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分发渠道。这些将在一段时间内关闭,