基于安装的php版本在composer中需要不同版本的phpunit

时间:2017-11-30 14:14:50

标签: php phpunit composer-php travis-ci

所以我有一个应该在PHP 5.3上工作的库 - PHP 7.2。我想在Travis CI上对每个版本进行单元测试,但遇到了PHPUnit的问题。在我的composer.json中,我有这个(在require-dev中):

"phpunit/phpunit": "~4.0",

一直到PHP 7.1都很好但在PHP 7.2中我得到了这个错误:

  

不推荐使用:不推荐使用each()函数。这条消息将是   进一步打电话被抑制   /home/travis/build/neubert/project/vendor/phpunit/phpunit/src/Util/Getopt.php   第38行

这导致Travis CI的单元测试失败。

我能想到的两个选择:

  1. 需要~5.0,这意味着我必须停止在Travis CI上测试PHP 5.3 - PHP 5.5。 https://phpunit.de/表示5.0版本与高达7.1的PHP兼容,因此有可能即使这个版本无法运行,此时我还需要~6.0,这意味着我没有在PHP 5.x上进行单元测试。
  2. 不要将PHP 7.2+添加到我的.travis.yml文件中,也不要在PHP 7.2 +上进行测试。
  3. 这些方法都没有吸引我的意义。如果库要与PHP 5.3兼容(例如),我只假设在PHP 5.3上运行单元测试(只要Travis CI支持它)。 PHP 7.2也是如此。

    我想我可以让BC打破整个库并说PHP 5.x不再受支持。当然有PHP纯粹主义者可能会赞扬PHP 5.x不再被任何地方所支持,但就像我说的那样,它将成为BC的突破。我想这是主要版本在语义版本控制中的用途,但我也只是假设在我的选择时让BC破坏版本而不是被PHPUnit强制做出决定

0 个答案:

没有答案