NIkrou avait amorcé la pompe il y a quelques années en implémentant des tests unitaires côté Clearbricks (avec Atoum) et unitaires et fonctionnels côté Dotclear (avec Atoum et Behat).
Depuis, il y a aussi quelques années, j’ai pas mal avancé côté tests unitaires de Clearbricks et bien qu’il reste encore pas mal à faire, je commence à avoir une belle couverture de code ; par ailleurs ça m’a bien servi pour tester les ajouts de fonctionnalités dans le convertisseur Wiki vers HTML.
Aujourd’hui, j’ai créé une branche PHP 7 pour Clearbricks et comme j’ai installé un joli et tout neuf PHP 8.0.1 sur mon Mac, forcément les tests coincent parce qu’une des extensions d’Atoum ne supporte pas encore cette version de PHP — le ticket est ouvert.
J’ai vu au passage que la bibliothèque Faker était en fin de vie, ce qui n’est d’ailleurs peut-être pas un problème vu l’usage qu’on en fait.
Du coup je me demande si ça vaut le coup de persister avec Atoum ou s’il ne vaudrait mieux pas basculer sur un autre environnement de test plus pérenne, du genre PHPUnit, voire même utiliser Codeception qui s’appuie sur PHPUnit et qui permettrait de remplacer à la fois Atoum et Behat ?
1 De Nicolas -
Tes réflexions sont intéressantes. Je ne savais pas que Faker était en fin de vie. Je continue pour le moment à l’utiliser. Je n’ai pas de doute et comme dit François un nouveau projet (basé sur un fork ou pas) va finir par émerger.
Concernant Atoum je suis plus sceptique. Je trouve la syntaxe et l’environnement de phpunit lourd. Rien que devoir configurer l’outil via un fichier xml me bloque. J’ai l’impression de faire du java avec son fichier pom !
Un autre outil intéressant à utiliser/mettre en place est phpstan. Cela permet de débusquer de potentiel bugs avant la mise en production.
2 De Franck -
Merci pour la référence à PHPStan que je ne connaissais pas.
Je louche aussi du côté de LSP, mais pas encore testé.