phpunit commande ne fonctionne pas pour laravel 4 sur windows 7
J'ai récemment installé laravel et ont écrit quelques tests /tests de répertoire, mais lorsque j'utilise phpunit
à cmd dans le même dossier que phpunit.xml
existe, dit-il 'phpunit' is not recognized as an internal or external command,operable program or batch file.
. Je suis sous windows 7. que dois-je faire?
- Oui, je veux dire installé
- Avez-vous définissez la variable d'environnement?
- Les variables d'environnement pour quoi?
- Pour être en mesure d'exécuter des commandes avec
phpunit
. Il travaillait avant? - non, ce n'était pas le cas , donc vous voulez dire que je dois ajouter le phpunit exécutable CHEMIN ouais?
- Grand oui! Si elle n'est pas déjà fait. Essayez
echo %PATH%
dans cmd et de voir la sortie contenirphpunit
Vous devez vous connecter pour publier un commentaire.
La solution pour moi:
Bien entendu, cela suppose que vous avez définir une variable d'environnement php dans Windows
Comme Unnawut dit, cela ne fonctionne pas car vendor/phpunit/phpunit/phpunit est pas un natif de Windows exécutable. Vous avez besoin d'un .bat ou .fichier cmd qui va appeler "php phpunit'. Il devrait y avoir un vendeur/bin, mais pour rendre la vie facile, essayez ce - créer un fichier de phpunit.chauve-souris (ou .cmd) à la racine de votre site, contenant ceci:
Maintenant, vous pouvez appeler phpunit à partir de la ligne de commande à la racine du site.
Si vous êtes un utilisateur de la fenêtre et vous rencontrez ce problème, faites ceci:
Vous devez dire à la Fenêtre où trouver PHPUnit de commande, vous pouvez tout d'abord vérifiez que ce fichier existe dans votre Laravel projet sous /vendor/bin
Enfin, vous devez ajouter le chemin d'accès complet à
/vendor/bin
dans la fenêtre de votre variable PATH,Pour ce faire:
1. Cliquez-droit sur "Ordinateur" puis cliquez sur propriétés
Advanced system settings
Advanced
cliquez surEnvironmental Variables
PATH
puis définissez la variable PATH en ajoutantle chemin d'accès complet à votre
laravel-project/vendor/bin;
Avis de la;
à la fin.NB: d'Autres variables pourraient existe déjà dans le CHEMIN d'accès, afin de vous assurer de ne pas les écraser en ajoutant votre propres à la fin
Ok
sur toutes les boîtes de dialogueLa phpunit exécutable n'est pas dans votre dossier racine du projet, c'est pourquoi il ne peut pas le trouver.
Maintenant, je suppose que vous avez déjà phpunit dans votre
composer.json
fichier, quelque chose comme ceci:Lorsque installé par le compositeur, le paquet sera installé à
vendor/vendor_name/package_name
. Afin de l'exécuter à votre racine du projet, tapez cette commande:composer update
droit?composer update
et après que fairevendor/phpunit/phpunit/phpunit
à partir du dossier que vous avezphpunit.xml
J'ai ajouté cette commande dans la ligne de commande au lieu de simplement "phpunit"
Qui a fonctionné pour moi.
Emprunt de @Chris excellente réponse:
Mieux encore, vous pouvez faire
vendor/phpunit/phpunit/phpunit
un la variable d'environnement, dire "phpunit" et à chaque fois que vous voulez exécuter le test à tout laravel projet, il vous suffit d'appelerphp %phpunit%
.Démonstration
Si il dit la chose suivante:
$ phpunit tests/Feature/ExampleTest.php
PHPUnit 3.7.21 par Sebastian Bergmann.
De la classe de tests/Fonction/ExampleTest' n'a pas pu être trouvé dans "C:\xampp\htdocs\blog1\tests\Feature\ExampleTest.php'.
Au lieu de taper tests/Feature/ExampleTest.php vous dites tests " \\Fonctionnalité\\Exemple.test" parce que vous utilisez windows, mac pas. 🙂 GL & HF
En utilisant simplement \ ou /donneront des erreurs 🙂