J'utilise PHPUnit (3.6.7) pour tester et fournir des rapports de couverture de code sur ma demande, tout est configuré et fonctionne comme prévu. p>
J'ai une couverture complète pour tout le code, à l'exception de mes interfaces, même si j'ai des tests qui pour les classes qui implémentent les interfaces. Le rapport indique simplement que l'interface n'a pas été exécutée p>
Y a-t-il un moyen de couvrir les interfaces? Ou est-ce un cas de dire à PHPUnit de les ignorer pour la couverture de code? P>
3 Réponses :
interfaces ne contiennent aucun code exécutable, il n'y a donc rien de là à tester. p>
Je n'essaie pas de les tester directement, bien qu'ils soient utilisés avec Assertinstanceof (), je les veux juste dans la couverture du code, car ils sont "utilisés"
Vous pouvez spécifier que des tests pour une classe de classe de béton procédés de classes / interfaces abstraites parent. P>
voir Dans le même chapitre, vous trouverez également des moyens d'ignorer les blocs de code ou de fichiers entiers à partir de l'analyse de la couverture du code. P> Spécification de méthodes couvertes code> section dans Code Analyse de la couverture chapitre du manuel. p>
Parfait! Merci. Pour quelqu'un d'autre qui rencontre cela, vous avez besoin de @covers Class_name <étendu> dans votre classe de test
Mise à jour du lien vers la dernière version de la version Page: PHPUNIT.de/manual/Currente/ FR / CODE-COUVERTURE-ANALYSE.HTML
Une réponse supplémentaire: p>
La prochaine version de phpunit ( Il ne sera donc pas nécessaire d'utiliser une sorte d'inclut ou 3.7. code>) ignorera toutes les interfaces de couverture par défaut. p>
// @ codecoverageagignore code> façons de contourner ensuite. P>