| Q | A
| --------------------| ---------------
| Versión PHPUnit | ~4.7.0 \|\| ~5.0.0 \|\| ~5.1.0 \|\| ~5.2.0
| Versión PHP | no relacionado
| Método de instalación | compositor
Se ha lanzado PHP Timer v2. Es incompatible con PHPUnit mencionado, ya que PHPUnit con la versión dada requiere... >= 1
lugar de ^1
. Por eso, cualquier instalación nueva de esa PHPUnit (en el proyecto heredado) se bloqueará durante la ejecución con:
https://travis-ci.org/PHPUnitGoodPractices/Traits/jobs/341148960#L978
Error fatal de PHP: error no detectado: la clase 'PHP_Timer' no se encuentra en /home/travis/build/PHPUnitGoodPractices/Traits/vendor/phpunit/phpunit/src/Framework/TestResult. PHP: 577
Afectará especialmente a los proyectos PHP heredados que no pueden permitirse actualizar PHPUnit directamente.
Sí, sé que esto se tomará como un problema de la versión no mantenida y que podría cerrarse de inmediato, sin embargo, es el problema final que acaba de lanzar php-timer major.
Solución para usuarios tristes de versiones heredadas de PHPUnit afectadas:
agregue a su composer.json
:
"conflict": {
"phpunit/php-timer": ">=2",
}
esto básicamente hará que el requisito de PHPUnit de php-timer sea ^ 1, como en otras versiones de PHPUnit
Desafortunadamente, PHPUnit 4.7 tiene "phpunit/php-timer": ">=1.0.6"
en su composer.json
. Sin embargo, PHPUnit 4.7 fue reemplazado por PHPUnit 4.8 hace mucho tiempo. No hay motivo para no actualizar de PHPUnit 4.7 a PHPUnit 4.8. PHPUnit 4.8 tiene "phpunit/php-timer": "^1.0.6"
en su composer.json
.
También menciona PHPUnit 5.0, PHPUnit 5.1 y PHPUnit 5.2. Todas estas versiones tienen "phpunit/php-timer": "^1.0.6"
en su composer.json
.
¿Qué esperas que haga aquí? Lance una nueva versión de PHPUnit 4.7 que tenga un composer.json
actualizado https://github.com/sebastianbergmann/phpunit/issues/3008#issuecomment -365430405 debería ser lo suficientemente buena. Por supuesto, la solución correcta sería actualizar al menos a PHPUnit 4.8 o usar un PHAR de PHPUnit 4.7.
También menciona PHPUnit 5.0, PHPUnit 5.1 y PHPUnit 5.2. Todas estas versiones tienen "phpunit/php-timer": "^1.0.6" en su composer.json.
no, 5.2.x-dev
tiene phpunit/php-timer: ^1.0.6
,
pero última versión estable de 5.2,
5.2.12
tiene phpunit/php-timer: >=1.0.6
por eso 5.0.x, 5.1.x y 5.2.x también se ven afectados.
PHP Timer acaba de ser lanzado, el hecho del lanzamiento trajo un problema a PHPUnit heredado que golpeé fuerte en mi empresa y proyectos paralelos, por lo que el propósito de este hilo era plantear el problema (para que los usuarios que también lo encontraron pudieran encontrarlo) y proporcionar posible solución.
Como dije en la publicación inicial, no espero una nueva versión de phpunit 4/5. ¡Gracias!
Comentario más útil
Solución para usuarios tristes de versiones heredadas de PHPUnit afectadas:
agregue a su
composer.json
:esto básicamente hará que el requisito de PHPUnit de php-timer sea ^ 1, como en otras versiones de PHPUnit