Mot-clé - test unitaire

Fil des billets - Fil des commentaires

lundi 27 septembre 2010

Vous êtes dépendant ? ce n'est pas un problème !

L'injection de dépendances est un patron de conception que tout bon développeur qui fait de la programmation orientée objet, en PHP ou avec tout autre langage, devrait mettre en œuvre.

Pour rappel, il consiste à ne pas instancier d'objet dans le code des classes lors de la conception de ces dernières, mais à les injecter lors de exécution du code dans les instances de classes, soit à l'aide d'un passage par argument sur la méthode appelée, soit à l'aide d'une méthode dédiée.

Ainsi, le découplage entre les classes est augmenté, et le code est alors plus modulaire et réutilisable.

De plus, l'injection de dépendances facilite l'écriture des tests unitaires puisqu'elle permet de bouchonner facilement à l'aide de mock.

Pour autant, sa mise en œuvre n'est pas toujours forcément aisée.

Lire la suite

mercredi 8 septembre 2010

Test unitaire, chaîne de caractères et caractère de contrôle

Hier, j'ai été confronté à un problème intéressant dans le cadre d'Atoum, mon framework de tests unitaires spécifique à PHP 5.3.

En effet, je suis en train de développer une barre de progression permettant de visualiser l'avancement des tests au cours de leur exécution en ligne de commande.

Évidement, le code correspondant est testé unitairement à l'aide d'Atoum, en suivant la méthode TDD.

Et tout a parfaitement fonctionné jusqu'à ce que je fasse des assertions sur des chaînes de caractères contenant des caractères de contrôle.

Lire la suite

mercredi 1 juillet 2009

Exemple de mise en oeuvre des mock

Vous trouverez ici une classe de tests unitaires pour tester ce code, qui utilise l'extension PHP memcache.

Son intérêt est qu'elle permet d'effectuer les tests sans devoir disposer d'un serveur memcache opérationnel, grâce à la technique des mocks.

Lire la suite

mercredi 24 juin 2009

Évolution d'une classe PHP permettant d'éxécuter des tests unitaires

Il y a déjà au moins deux ans, lorsque j'ai commencé à développer la classe de tests unitaires en PHP de ogo, je me suis inspiré de l'existant, et plus particulièrement de SimpleTest.

J'ai donc conçu ma classe comme une classe abstraite, contenant une méthode permettant l'éxécution des tests, ainsi que plusieurs autres permettant de tester des assertions.

Cependant, sur le long terme, cela m'a posé un problème.

Lire la suite

lundi 15 juin 2009

Simuler le fonctionnement des fonctions natives de PHP

PHP n'étant pas totalement orienté objet, il est parfois difficile de tester le code généré, notamment s'il emploie les fonctions natives du langage, ce qui arrive tout de même assez régulièrement.

Lire la suite

- page 2 de 4 -