Atoum is a simple, modern and intuitive unit testing framework for PHP! It is completly standalone, everything is available and works out of the box.

J’ai utilisé cet outil sur un projet récemment. Il m’a permis de découvrir une autre approche des tests unitaires, plus simple et efficace. Je me suis surtout rendu compte que ces tests peuvent m’aider à faire vivre l’architecture technique du développement au fil de son évolution.

Par contre j’ai été confronté a un petit soucis d’ergonomie. Venant du « monde » PHPUnit, j’avais pris l’habitude d’avoir un petit fichier de configuration XML qui me permettait de définir le comportement par défaut lors de l’exécution (fichier de bootstrap, définition des suites de tests, activation de la couverture de code…).
Sur Atoum, le fonctionnement est un peu différent, le fichier de configuration est en PHP. L’utilisation de ce langage offre une souplesse vraiment intéressante mais il faut s’y faire.

Pour un premier pas, j’ai voulu me simplifier la vie en définissant mon fichier de bootstrap par défaut dans cette configuration. Pour rappel, ce fichier est chargé avant l’exécution de chaque test, et permet donc de préparer l’environnement d’exécution (autoload, chargement d’une configuration…).

Pour déclarer ce fichier à l’exécution, il faut passer par le paramètre --bootstrap-file ou -bf, un peu long :

Après avoir saisi ce paramètre une dizaine de fois, j’ai cherché une solution pour ne plus avoir à le refaire :). Il suffit de rajouter la ligne suivante dans le fichier .atoum.php qui est le nom de la configuration Atoum :

Le résultat est beaucoup plus simple et rapide !

Je vais continuer de creuser l’utilisation de cet outil vraiment intéressant. La nouvelle version du site officiel du projet (http://atoum.org/), mise en ligne au début du mois, est beaucoup plus attractive et permet d’avoir un aperçu rapide des possibilités.


Mise à jour du 08 février 2016

Après lecture de l’article, le créateur d’atoum, Frédéric Hardy (@mageekguy), m’a informé qu’il existe une autre possibilité pour la gestion du fichier de bootstrap. Si vous créer un fichier .atoum.bootstrap.php, il sera chargé automatiquement si atoum le trouve dans le répertoire courant.
Une petite astuce qui permet d’éviter de créer un fichier de configuration uniquement pour ça !

Grâce à une petite Pull Request sur Github, vous pouvez maintenant trouver ces informations directement dans la documentation d’atoum.