2013-10-16 4 views
0

1) J'ai utilisé le sélénium avec phpunit, j'ai essayé d'utiliser la couverture de code pour phpunit mais j'ai un doute.Cette couverture de code est-elle utilisée pour un test unitaire (ou) fonctionnel 2) Si j'ai utilisé la couverture de code dans phpunit avec du sélénium mais ce n'est pas couvert le code alors le résultat est 0% couvert, veuillez me donner des éclaircissements. Exemple de code:Couverture de code pour phpunit

<?xml version="1.0" encoding="UTF-8"?> 
<coverage generated="1381493785"> 
    <project timestamp="1381493785"> 
    <metrics files="0" loc="0" ncloc="0" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/> 
    </project> 
</coverage> 

Répondre

0
couverture de code

ne doit être généré lors de l'exécution des tests unitaires. Et je crois que PHPUnit peut seulement créer une couverture de code en exécutant directement le code à couvrir. Lors de l'utilisation de Selenium, le code n'est exécuté que de manière indirecte (éventuellement sur une machine différente) et ne peut pas être couvert.

Alors pourquoi seulement pour les tests unitaires? C'est parce que la couverture de code est censée vous aider à repérer les lignes qui ne sont pas testées avec un test unitaire. Pourquoi pas dans les tests fonctionnels?

Parce que ceux-ci sont là pour prouver que la somme de toutes les parties fonctionne ensemble, pas itérer à travers toutes les combinaisons possibles d'entrée pour obtenir une couverture complète. Cela peut même être impossible, car l'entrée qui déclencherait une condition d'erreur dans un modèle ne peut même pas l'atteindre, car la validation du formulaire s'arrête déjà.

Questions connexes