| Q | UNE
| --------------------| ---------------
| Version PHPUnit | 7.2.5
| Version PHP | 7.1, par exemple
| Méthode d'installation | Compositeur, mais peu importe
nouvelle version 7.2.5 brise BC :
https://github.com/sebastianbergmann/phpunit/commit/bcb4c788c7872cd2f885ccf50285f6feb7cfff1a#diff -9ae7a972d07df5f73629d5d315bf405aR521
déclaration formelle de méthode modifiée :
- public static function assertNotEquals($expected, $actual, string $message = '', $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false): void
+ public static function assertNotEquals($expected, $actual, string $message = '', float $delta = 0.0, int $maxDepth = 10, bool $canonicalize = false, bool $ignoreCase = false): void
pour cela, mon intégration plante sur des entêtes de méthode incompatibles :
https://travis-ci.org/FriendsOfPHP/PHP-CS-Fixer/jobs/394945074#L655
PHP Fatal error: Uncaught Declaration of
PHPUnitGoodPractices\Traits\IdentityOverEqualityTrait::assertNotEquals($expected, $actual, string $message = '', $delta = 0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false): void
should be compatible with
PHPUnit\Framework\Assert::assertNotEquals($expected, $actual, string $message = '', float $delta = 0, int $maxDepth = 10, bool $canonicalize = false, bool $ignoreCase = false): void
Pourquoi les gens écrasent les assertions de PHPUnit ? soupir
histoire courte? car ils ne sont pas marqués comme définitifs
longue histoire? vide https://github.com/PHPUnitGoodPractices/Traits/blob/master/src/IdentityOverEqualityTrait.php#L46 -L56 pour mon cas concret
Je vais les faire final
dans PHPUnit 8 alors :-)
Alors, pouvons-nous d'abord sortir du sujet mort de l'enregistrement des affirmations/attentes ? On peut donc décider d'avoir des assertions supplémentaires disponibles globalement (sans importation manuelle dans chaque test) ou de ne pas enregistrer toutes celles intégrées ?
Mais en général, :+1: pour les méthodes/classes/interfaces d'exposition finales sur des implémentations concrètes
Aussi, permettez-moi de demander ceci une fois de plus ;) s'il vous plaît, commençons à utiliser la balise @internal
pour des choses hors de la promesse BC, qui ne doivent pas être utilisées hors de cette bibliothèque.
(Par exemple, je peux préparer des relations publiques qui rendraient tout marqué en interne, puis nous ouvririons ce qui sera public)
Commentaire le plus utile
Je vais les faire
final
dans PHPUnit 8 alors :-)