Phpunit: несовместимость с PHP_Timer

Созданный на 13 февр. 2018  ·  3Комментарии  ·  Источник: sebastianbergmann/phpunit

| Вопрос | А
| --------------------| ---------------
| Версия PHPUnit | ~4.7.0 \|\| ~5.0.0 \|\| ~5.1.0 \|\| ~5.2.0
| PHP-версия | не относится
| Способ установки | композитор

Выпущен PHP Timer v2. Он несовместим с упомянутым PHPUnit, так как PHPUnit с данной версией требует... >= 1 вместо ^1 . Для этого любая новая установка этого PHPUnit (в устаревшем проекте) будет аварийно завершать работу во время выполнения:
https://travis-ci.org/PHPUnitGoodPractices/Traits/jobs/341148960#L978

Неустранимая ошибка PHP: необработанная ошибка: класс «PHP_Timer» не найден в /home/travis/build/PHPUnitGoodPractices/Traits/vendor/phpunit/phpunit/src/Framework/TestResult. PHP: 577

Это особенно ударит по устаревшим проектам PHP, которые не могут позволить себе обновление PHPUnit напрямую.

Да, я знаю, что это будет воспринято как проблема неподдерживаемой версии и за это может быть закрыто из коробки, но в конце концов проблема в том, что php-timer major был только что выпущен.

Самый полезный комментарий

Решение для грустных пользователей уязвимых устаревших версий PHPUnit:

добавьте к вашему composer.json :

    "conflict": {
        "phpunit/php-timer": ">=2",
    }

это в основном заставит PHPUnit требовать php-timer ^ 1, как и в других версиях PHPUnit.

Все 3 Комментарий

Решение для грустных пользователей уязвимых устаревших версий PHPUnit:

добавьте к вашему composer.json :

    "conflict": {
        "phpunit/php-timer": ">=2",
    }

это в основном заставит PHPUnit требовать php-timer ^ 1, как и в других версиях PHPUnit.

PHPUnit 4.7, к сожалению, имеет "phpunit/php-timer": ">=1.0.6" в composer.json . Однако PHPUnit 4.7 давно был заменен PHPUnit 4.8. Нет причин не обновляться с PHPUnit 4.7 до PHPUnit 4.8. PHPUnit 4.8 имеет "phpunit/php-timer": "^1.0.6" в composer.json .

Вы также упоминаете PHPUnit 5.0, PHPUnit 5.1 и PHPUnit 5.2. Все эти версии имеют "phpunit/php-timer": "^1.0.6" в composer.json .

Что вы ожидаете, что я буду делать здесь? Выпустить новую версию PHPUnit 4.7 с обновленным composer.json ? Извините, но этого не будет. Решение, которое вы предоставили в https://github.com/sebastianbergmann/phpunit/issues/3008#issuecomment -365430405, должно быть достаточно хорошим. Конечно, правильным решением было бы обновить как минимум PHPUnit 4.8 или использовать PHAR PHPUnit 4.7.

Вы также упоминаете PHPUnit 5.0, PHPUnit 5.1 и PHPUnit 5.2. Все эти версии имеют "phpunit/php-timer": "^1.0.6" в файле composer.json.

нет, у 5.2.x-dev есть phpunit/php-timer: ^1.0.6 ,
но последняя стабильная версия 5.2,
5.2.12 имеет phpunit/php-timer: >=1.0.6
для этого 5.0.x, 5.1.x и 5.2.x также затронуты.

PHP Timer только что был выпущен, факт выпуска привел к проблеме с устаревшим PHPUnit, который я сильно ударил по моей компании и сторонним проектам, поэтому цель этой темы состояла в том, чтобы поднять проблему (чтобы ее могли найти пользователи, которые также ударили ее) и предоставить возможный обходной путь.

Как я уже сказал в первом посте, я не ожидаю выхода нового релиза phpunit 4/5. Спасибо!

Была ли эта страница полезной?
0 / 5 - 0 рейтинги