Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

tests unitaires ; démarrer avec PHPUNIT


Sujet :

Langage PHP

  1. #1
    Membre expert
    tests unitaires ; démarrer avec PHPUNIT
    Bonjour,

    je code des méthodes de classe. Pour les tester, je compte utiliser PHPUnit. N'ayant jamais utilisé cet outil, pour démarrer, je me suis référé à https://phpunit.readthedocs.io/en/8.4/. Pour démarrer, il faut installer PHPUnit. Au début du tuto, on lit :
    The PHPUnit PHAR can be used immediately after download:

    $ wget https://phar.phpunit.de/phpunit-8.4.phar
    $ php phpunit-8.4.phar --version
    PHPUnit x.y.z by Sebastian Bergmann and cont
    Les 2 commandes qui commencent par wget et php, j'ai supposé qu'il fallait les taper dans une fenêtre "invite de commande" (je suis sur windows 10), mais à la première commande, ça me répond que wget n'est pas reconnu. Où fallait-il entrer cette commande ?
    Merci d'avance.
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

  2. #2
    Expert éminent sénior
    Salut,

    wget c'est sur Linux

    Tout est expliqué ici pour windows

  3. #3
    Membre expert
    OK j'avais pas descendu dans la page...

    Windows

    L’installation globale du PHAR implique la même procédure que l’installation manuelle de Composer sous Windows:

    Créer un répertoire pour les binaires PHP; ex. : C:\bin

    Ajouter ;C:bin à votre variable d’environnement PATH (related help)

    Télécharger https://phar.phpunit.de/phpunit-|version|.phar et sauvegarder le fichier sous C:\bin\phpunit.phar

    Ouvrir une ligne de commande (par exemple, appuyez WindowsR » et tapez cmd » ENTER)

    Créer un script batch (dans C:\bin\phpunit.cmd):
    Mais le problème, c'est que ce lien https://phar.phpunit.de/phpunit-|version|.phar = erreur 404...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

  4. #4
    Expert confirmé
    Parce que |version| est à remplacer par le numéro de version. (Ça évite de changer le manuel à chaque version). Le bon lien est https://phar.phpunit.de/phpunit-8.4.3.phar
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  5. #5
    Membre expert
    Oui, en fait, c'est évident, mais j'ai cliqué et même pas lu le lien...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

  6. #6
    Expert éminent sénior
    Citation Envoyé par laurentSc Voir le message
    OK j'avais pas descendu dans la page...
    Citation Envoyé par laurentSc Voir le message
    j'ai cliqué et même pas lu le lien...
    Tu ne devrais pas prendre un peu de vacances ?

  7. #7
    Membre expert
    Après, j'ai essayé d'être plus attentif. Le script batch (étape 5) existe bien (je l'ai édité).
    Dans le répertoire "binphpunit", j'ai bien mis "phpunit.phar" (donc avec le nom correct).
    Mais quand je tape dans la ligne de commande "phpunit --8" (j'ai remplacé "version" par "8"), ça me répond "php est non reconnue". Où me suis-je encore trompé ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

  8. #8
    Expert confirmé
    C'était un piège pour voir si tu es vraiment attentif!!!

    Là il faut littéralement taper phpunit --version. C'est pour afficher la version; c'est un petit test basique qu'on fait couramment pour voir si un bidule quelconque est bien installé, genre machin -v ou truc --version ou encore zigouigoui --help (un tiret pour le nom court, deux tirets pour le nom long de l'option).
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  9. #9
    Membre expert
    OK, mais pour être sûr de pas dire une bêtise, avant de poster, j'ai aussi essayé "phpunit --version", et même message d'erreur (php n'est pas reconnue)
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

  10. #10
    Expert confirmé
    Je n'ai malheureusement pas Windows et je ne peux pas t'aider plus sur ce point. Une idée cela dit: que ce passe-t'il lorsque tu tapes: php -v (à partir de n'importe quel répertoire)? Si un message d'erreur apparaît, c'est qu'il faut ajouter le chemin vers l'exécutable de php. De cette manière phpunit arrivera-t-il peut-être à le trouver. (mais ce n'est que pure spéculation).
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  11. #11
    Expert éminent sénior
    oui pour windows, il faut ajouter le chemin vers php.exe dans la variable d'environnement PATH.
    Comme ça, où que tu sois dans l'arborescence, tu peux faire appel à php.exe

  12. #12
    Membre expert
    OK, j'ai fait ça et je n'ai plus le message d'erreur.

    Après, y a le chapitre "Vérification des versions PHAR de PHPUnit" et bien que ça soit pas marqué, ça commence par wget donc pour linux, et d'ailleurs, vu que ça s'appelle "vérification", c'est pas obligatoire.
    J'arrive ensuite à "2. Écrire des tests pour PHPUnit" mais là, c'est pas très simple et le chapitre "Dépendances des tests", c'est encore pire.
    Y aurait pas plus simple ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

  13. #13
    Modérateur

    Dans la philosophie tous les framework de test se ressemble , même au travers des langages.

    Tu peux éventullement essayer atoum c'est crée par un français et ça marche plutôt bien.

    Pour démarrer : http://docs.atoum.org/fr/latest/star...ith_atoum.html
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  14. #14
    Membre expert
    Je commence à regarder atoum, mais le lien pour l'installer via phar ne marche plus ! http://docs.atoum.org/fr/latest/installation.html#id3
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

  15. #15
    Modérateur

    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

###raw>template_hook.ano_emploi###