Bonjour,
Je suis actuellement la formation de pratique de la POO avec PHP mais je rencontre un tout petit problème lors d'un test via phpunit.
J'ai actuellement un petit soucis que je ne comprend pas. j'ai installé phpunit et quand je fais un /phpunit --version dans la répertoire C il m'indique la bonne version. par contre quand je suis dans mon C:\wamp64\www\MonFramework et que je tape dans l'invite de commande /vendor/bin/phpunit -- version ou encore le test /vendor/bin/phpunit test/Framework/AppTest.php il m'affiche "Le chemin spécifié est introuvable".
Est ce que quelqu'un aurait une idée ? C'est surement tout bête... Bonne fin de journée
tu as bien testé sans le premier slash ? sinon c'est vendor directement sous la racine de c: !!!
Oui, ou bien mettre un point devant pour dire qu'on part du dossier courant : ./vendor/bin/phpunit, si ça ne fonctionne pas c'est que tu n'as pas du require PHPUnit dans ton projet
Bonjour,
Merci pour vos réponses.
Alors quand je met un poit devant le / il me dit qu'il n'est pas reconnu en tant que commande interne(je suis en mode admin).
J'ai réinstallé phpunit via compose avec cette commande "composer require --dev phpunit/phpunit" et j'ai refait un coup de /vendor/bin/phpunit -- version pour voir si il le trouvais mais il continue de me marquer que le chemin spécifié est introuvable...
Le fichier phpunit se trouve pourtant bien dans vendor/bin/phpunit.
Cela est vraiment bizarre car je n'ai jamais eu de problème avec phpunit quand je l'utilisais dans d'autres tutoriels..
Est ce qu'il est possible que ce soit mon installation dans c: qui fasse foiré ? dois-je le réinstaller ?
Bonjour,
Si le avec le point de cette façon ./vendor/bin/phpunit -- version
ne fonctionne pas essaye comme ça vendor/bin/phpunit -- version
tu es sur windows ?
Salut,
Oui je suis sous windows.
Quand je fais ./vendor/bin/phpunit -- version -> '.' n’est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
et quand je fais vendor/bin/phpunit -- version -> 'vendor' n’est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
C'est exactement pareil...
Bien oui justement j'ai le phpunit et le phpunit.bat =( j'ai éssayé de recommencer la formation pour voir si j'avais fais une erreur mais non même résultat !
Tu utilise un invite de commande par défaut de Windows ? Sinon essaye avec https://jonathanmh.com/unit-testing-phpunit-windows/
Ton problème vient du fait que le fichier phpunit n'est pas un programme ni une commande interne
car c'est un script php qui appelle lui même l'interpréteur php (la première ligne indique l'interpréteur à lancer)
#!/usr/bin/env php
Malheureusement c'est pour le monde Unix
sous windows il faut appeler directement l'interpréteur php.exe
> php vendor/bin/phpunit --version
Après rien ne t'empeche de créer ton propre fichier de commande 'phpunit.cmd'
qui contiendrait :
php phpunit %%1
Ok j'ai trouvé l'erreur mais je ne saurais vraiment l'éxpliquer.
Enfaite je n'ai tout simplement pas besoin de taper ./vendor/bin/phpunit ou /vendor/bin/phpunit il me suffit de faire
phpunit --v pour la version
et
phpunit tests/Framework/AppTest.php et le test se fait...
En soit c'était tellement idiot.
Merci beaucoup pour votre temps et votre aide ! =)
Normalement sous vendor on a un nom de 'Vendeur' pour bien séparer les namespaces
ici tu as bin !!! assez étrange
Pour le sh, c'est le shell unix, et donc le fichier que tu ouvres est un script shell unix pas un fichier php
Il faut voir ce que fait ton fichier car là ça devient compliqué
normalement composer n'est pas trop lié à une plateforme en particulier
Personnellement j'ai eu ce problème il y a quelque mois, et j'ai mis entre guillemets la commande : "./vendor/bin/phpunit" et ça a résolu le problème.
Lorsque j'ai également rencontré ce problème j'ai regardé si ça ne venait pas du terminal de mon éditeur (intellij / phpstorm) les deux avaient le même soucis
Pour faire mes tests unitaires je suis obligé de passer par Git Bash ou de configurer phpunit sur mon éditeur pour que ça fonctionne
En espérant aider quelques un.
bonjours,
je viens d'avoir le même soucis et ça fonctionne nickel avec les guillemets
merci
Bonjours,
J'ai le même soucis et ça fonctionne avec les guillemets sous windows
"./vendor/bin/phpunit"
Merci