Atoum et la gestion du error_reporting

Cet article a été publié depuis plus de 6 mois, cela signifie que le contenu peut ne plus être d'actualité.

J’utilise depuis quelques années maintenant Atoum pour écrire les tests unitaires sur mes différents projets (Open Source et professionnels). Pourtant cela ne m’empêche pas d’avoir encore quelques surprises lors de l’écriture de mes tests.

Ce weekend, en écrivant des tests sur une librairie PHP “legacy”, et en profitant pour y faire un peu de refactoring, mes tests Atoum me généraient une erreur PHP (E_STRICT) que je ne parvenais pas à reproduire via une application test.

La seule explication de ce phénomène est qu’Atoum surchage la configuration error_reporting de votre environnement PHP.

Après une rapide réflexion, cela n’est en soi pas une mauvaise idée, car cela vous permet de vous assurer que votre code ne contient réellement aucune erreur et cela indépendamment de la configuration qui sera utilisée sur la machine qui utilisera votre code (comme l’explique Frédéric HARDY lors d’un échange de tweet).