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

vendredi 24 septembre 2010

Teasing 3

<?php namespace mageekguy\atoum\tests\units\phar; use \mageekguy\atoum; use \mageekguy\atoum\mock; require_once(__DIR__ . '/../../runner.php'); /** @isolation on */ class generator extends atoum\test {     public function testRun()     {         ...         $mockController = new  […]

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

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

mercredi 3 juin 2009

Ecrire du code objet en PHP testable

Au vu de ce que je lis sur Internet actuellement à propos de PHP, les tests unitaires ont le vent en poupe.

Cependant, l'écriture des tests, et plus particulièrement d'un code testable, n'est pas forcément une chose évidente pour un développeur.

En effet, au fil du temps, ce dernier peut avoir pris un certain nombre d'habitudes qui font que le code qu'il conçoit n'est pas testable facilement.

Cependant, il lui suffit de prendre conscience de la condition qui permet de tester du code pour résoudre le problème.

Lire la suite

- page 1 de 2