neu*_*ert 5 php phpunit travis-ci composer-php
所以我有一个应该在 PHP 5.3 - PHP 7.2 上运行的库。我想在 Travis CI 的每个版本上对它进行单元测试,但我遇到了 PHPUnit 的问题。在我的 composer.json 中有这个(在 require-dev 中):
"phpunit/phpunit": "~4.0",
Run Code Online (Sandbox Code Playgroud)
这一直到 PHP 7.1 都很好用,但在 PHP 7.2 中我收到此错误:
已弃用:each() 函数已弃用。此消息将在第 38 行的 /home/travis/build/neubert/project/vendor/phpunit/phpunit/src/Util/Getopt.php 中进一步调用时被抑制
这导致 Travis CI 上的单元测试失败。
我能想到的两个选项:
~5.0,这意味着我必须停止在 Travis CI 上测试 PHP 5.3 - PHP 5.5。https://phpunit.de/说 5.0 版本与 PHP 最高 7.1 兼容,所以即使那个版本也不能工作,在这一点上,我必须 require ~6.0,这意味着我没有做PHP 5.x 上的单元测试。这两种方法对我都没有多大吸引力。如果库要与 PHP 5.3 兼容(例如),我只是假设在 PHP 5.3 上运行单元测试(只要 Travis CI 支持它)。PHP 7.2 也是一样。
我想我可以 BC 打破整个库并说 PHP 5.x 不再受支持。当然,有些 PHP 纯粹主义者可能会称赞 PHP 5.x 不再受到任何地方的支持,但就像我说的那样,这将是一个 BC 中断。我想这就是语义版本控制的主要版本,但我也只是假设在我选择的时间制作 BC 突破性版本,而不是被 PHPUnit 强迫做出决定。