lundi 18 octobre 2010

Premier jour !

Depuis deux jours sur Lyon, j'ai pris ce matin mes fonctions d'architecte logiciel chez PMSIpilot, après un voyage délicat samedi, grâce à la SNCF. Cependant, Sarah et Sébastien m'ont vite fait oublier les péripéties de ma transhumance, puisqu'il m'ont fait la joie de m'accueillir lors de mon arrivé  […]

Lire la suite

mardi 12 octobre 2010

Teasing 4

<?php namespace mageekguy\atoum\tests\units\phar; use \mageekguy\atoum; use \mageekguy\atoum\mock; use \mageekguy\atoum\phar; require_once(__DIR__ . '/../../runner.php'); class generator extends atoum\test { ... $mockGenerator = new mock\generator(); $mockGenerator    ->generate('\phar')      […]

Lire la suite

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

jeudi 16 septembre 2010

Les interfaces, c'est bon, mangez-en !

Dans le cadre de Atoum, mon framework de tests unitaires dédié à PHP 5.3, j'ai potentiellement besoin de faire remonter des informations à l'utilisateur à la fois lors de l’exécution des tests et une fois qu'ils sont terminés.

Il peut en effet être intéressant de lui afficher par exemple une barre de progression au cours du déroulement des tests et de lui afficher, une fois qu'ils sont terminés, le détail des échecs.

Contrainte supplémentaire, tous les utilisateurs n'ont pas forcément les mêmes besoins à ce niveau.

Certains se contenteront d'un affichage basique, tandis que d'autres auront potentiellement besoin de s'interfacer avec des systèmes externes ou souhaiteront un affichage plus détaillé.

Pour répondre à cette problématique, j'ai décidé de faire de la programmation événementielle, en mettant en place au niveau de ma classe de test de base et de ma classe qui exécute les tests le patron de conception observateur/observable.

Lire la suite

- page 3 de 4 -