• Technique
"php-crashers" : exemples de scripts qui déclenche une segmentation fault en PHP

Erreur de segmentation, qu'est-ce que c'est et dans quels cas sont elles déclenchées en PHP ? Un dépôt Github présente quelques exemples détaillés...

  • Développement
  • Technique
PHP Coding Standard Fixer ou comment nettoyer les namespaces inutiles en PHP ?

Aujourd'hui il existe des outils pour aider à produire un code propre et respectant une mise en forme normée, pourquoi ne pas essayer !

  • Technique
Désactivation de certaines fonctionnalités des navigateurs sur les sites non "sécurisés"

  • Serveur
  • Technique
Let’s Encrypt : une nouvelle autorité de certification libre, automatisée et ouverte

  • Développement
  • Technique
Comment cloner un objet en JavaScript

Toute assignation créé une référence et pas une copie. Ce comportement est standard dans la programmation mais en JavaScript on se perd facilement...

  • Serveur
  • Technique
Comment en finir avec l'édition du fichier hosts ?

Comment configurer un serveur DNS simple dans un environnement de développement ? En utilisant dnsmasq, un outil efficace qui permet de s'affranchir de l'édition du fichier hosts.

  • Développement
  • Technique
PHP 7: Installation sur une distribution Ubuntu Server

Plus d'excuse maintenant pour ne pas installer et utiliser PHP 7 sur votre serveur Ubuntu. Grâce à ce guide, vous pouvez suivre une procédure fiable et officielle sans passer par une compilation personnalisée.

  • Développement
  • Technique
Symfony, Composer et la configuration `platform`

Une erreur du type `overriden by "config.platform.php"` en installant vos dépendances composer ? Venez comprendre la configuration qui en est la cause et comment la dompter !

  • Développement
  • Technique
  • Tests unitaires
Atoum: Comment automatiser l'utilisation du fichier de `bootstrap` ?

J'ai utilisé atoum sur un projet récemment. Il m'a permis de découvrir une autre approche des tests unitaires, plus simple et efficace

  • Technique
On a testé Firefox Developer Edition !

Mozilla vient de présenter sa dernière nouveauté, Firefox Developer Edition. C'est un outil puissant qui intègre les dernières innovations pour aider les développeurs web au quotidien.

  • Technique
Contrôler l'installation des mises à jour de Wordpress

Il est intéressant de pouvoir limiter l'installation des mises à jour à certains utilisateurs pour contrôler les problèmes techniques qui peuvent en découler.

  • Technique
L'Ipad et les problèmes de redimensionnement des images hors viewport

L'Ipad et safari sur iOS n'autorisent pas par défaut l'application d'une image de fond qui dépasse du viewport, voici quelques astuces pour contourner ce problème.

  • Design
Prendre les bonnes décisions pour une interface plus efficace

Vous vous demandez pourquoi certaines interfaces web plaisent aux internautes et d’autres pas ?

  • Stratégie
Comment rédiger un brief efficace pour obtenir ce que vous voulez !

Vous souhaitez que votre projet aboutisse à la réalisation que vous imaginez ?

Mots Clés

  • Développement
  • Technique
  • Tests unitaires

21 janvier 2016 par

Atoum: Comment automatiser l'utilisation du fichier de `bootstrap` ?

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.

Partager cet article


2 commentaires

Stéphane 08 février 2016 à 19h26

Merci pour l'info, j'ai mis à jour l'article avec ce mode de chargement beaucoup plus simple !

mageekguy 24 février 2016 à 21h29

FYI, you can use a file named `.atoum.bootstrap.php` as bootstrap file, atoum will use it as bootstrap file automatically, no need to use any command line argument.

Soumettre un commentaire

Vous avez décidé de laiser un commentaire. C'est fantastique !
Votre adresse e-mail ne sera pas publiée, merci d'être passé !

(*) Champs obligatoires Envoyer

Votre commentaire a été soumis à validation