les tests unitaires et les méthodes Statiques

De la lecture et de ramasser sur les tests unitaires, en essayant de donner un sens à le post suivant sur qui explique les difficultés de la statique des appels de fonction.

Je n'ai pas de comprendre clairement ce problème. J'ai toujours assumé les fonctions statiques ont été une belle façon d'arrondir les fonctions de l'utilitaire dans une classe. Par exemple, j'ai souvent utiliser des appels de fonctions pour initialiser, c'est à dire:

Init::loadConfig('settings.php');
Init::setErrorHandler(APP_MODE); 
Init::loggingMode(APP_MODE);

//start loading app related objects ..
$app = new App();

//Après avoir lu le post, j'ai maintenant l'objectif de ce lieu ...

$init = new Init();
$init->loadConfig('settings.php');
$init->loggingMode(APP_MODE);
 //etc ...

Mais, les quelques dizaines de tests que j'avais écrit pour cette classe sont les mêmes. J'ai rien changé et qu'ils passent tous. Suis-je en train de faire quelque chose de mal?

De l'auteur du post est la suivante:

La base, une question avec des méthodes statiques, c'est qu'ils sont le code de procédure. Je n'ai aucune idée de comment l'unité-test code de procédure. Tests unitaires suppose que je peux instancier un morceau de mon application dans l'isolement. Lors de l'instanciation I fil des dépendances avec des objets fantaisie/matches amicaux, qui remplacent les dépendances réels. Avec la procédure de programmation: il n'y a rien de “fil” car il n'y a pas d'objets, le code et les données sont séparées.

Maintenant, je comprends bien le post que des méthodes statiques de créer des dépendances, mais ne pas comprendre intuitivement pourquoi on ne peut pas tester la valeur de retour d'une méthode statique, comme une méthode régulière?

Je vais être en évitant les méthodes statiques, mais je serais bien aimé avoir une idée de QUAND les méthodes statiques sont utiles, voire pas du tout. Il semble de ce post méthodes statiques sont à peu près aussi mal que les variables globales et doivent être évités autant que possible.

Toute information supplémentaire ou des liens sur le sujet serait grandement apprécié.

InformationsquelleAutor stefgosselin | 2011-05-11