web-dev-qa-db-fra.com

Impossible de trouver PHPUnit dans le chemin d'inclusion phpstorm

Cannot find PHPUnit in include path Est le message d'erreur que j'obtiens lorsque j'essaie d'exécuter mon code dans phpstorm.

Dans les paramètres PHP, mon PHP est 5.4 (traits, short array syntax, etc.) et l'interpréteur est Name(5.4.7)Name est défini par l'utilisateur.

L'erreur apparaît lorsque j'essaie d'exécuter le code et le message exact est le suivant:

C:\xampp2\php\php.exe C:\Users\Dell\AppData\Local\Temp\ide-phpunit.php --no-configuration

C:\xampp2\htdocs\ft-website

Les tests ont commencé à 2:34 PM ...

Processus terminé avec le code de sortie 1

Impossible de trouver PHPUnit dans le chemin d'inclusion (.; C:\xampp2\php\PEAR) `

32
Newtt

Je viens de rencontrer ce problème moi-même.

Je ne sais pas pourquoi il est incapable de trouver PHPUnit dans le chemin d'inclusion (malgré le fait qu'il soit là, bien qu'en minuscules).

J'ai contourné cela en modifiant mes préférences IntelliJ pour PHPUnit (sous PHP --> PHPUnit). J'ai changé le PHPUnit library paramètres à Use custom loader, puis spécifié le chemin d'accès à l'exécutable phpunit. Sur mon mac, c'était /usr/local/Cellar/php54/5.4.26/bin/phpunit.

MISE À JOUR:

Je viens de découvrir que pear installe désormais PHPUnit en tant que phar nommé phpunit. Il avait précédemment installé la source PHPUnit, ce qui était vraiment bien pour la référence et la complétion de code dans PHPStorm. Je pense que c'est la raison pour laquelle les choses ne fonctionnent plus avec PHPStorm, car il attend un exécutable php et non une archive php.

Donc, je m'éloigne de l'utilisation de pear pour installer PHPUnit, et j'utilise composer à la place. Cela regroupe PHPUnit directement en tant que dépendance de mon projet, ce qui le rend plus portable qu'une dépendance système. Vous devrez ajouter vendor/phpunit/phpunit en tant que PHP inclure le chemin dans vos préférences PHPStorm. Cela servira à deux fins:

  1. PHPStorm peut trouver l'exécutable phpunit maintenant
  2. PHPStorm indexera toutes les classes PHPUnit maintenant, donc vous obtiendrez une saisie automatique. Yay!

Pour ce faire, accédez à Langues et cadres dans les paramètres PhpStorm. Si vous cliquez sur PHP, à droite vous avez vos chemins d'inclusion

55
Ben

J'ai eu ce problème après avoir ajouté PHPUnit via le compositeur.

J'ai corrigé cela en choisissant use custom autoloader dans Settings -> Languages and Frameworks -> PHP -> PHPUnit, puis en ajoutant /vendor/autoload.php comme emplacement de l'autochargeur personnalisé.

24
Matt Gibson

C'est la façon de le faire sans utiliser le compositeur et en utilisant votre phpunit global.

  1. Phpunit est désormais livré avec un fichier phar. Mon chemin était /usr/local/Cellar/phpunit/5.0.0/libexec/phpunit-5.0.0.phar

enter image description here

  1. Préférences PhpStorm -> Chemin vers phpunit.phar -> sélectionnez le phpunit phar

enter image description here

  1. C'est tout, de bonnes choses.
4
a20

En plus de la réponse de Ben, dans phpStorm 7.1.3, cela fonctionne en spécifiant l'emplacement de phpunit.phar sous l'option "utiliser un chargeur personnalisé", par exemple:

"Chemin d'accès au script: /usr/share/php/phpunit.phar"

3
fabs

J'ai eu ce même problème pour PHPStorm 2017 en utilisant Vagrant. Allez d'abord à Settings -> Languages and Frameworks -> PHP et Ajouter un interprète distant, puis accédez à Settings -> Languages and Frameworks -> PHP -> PHPUnit cliquez sur le + en haut et cliquez sur by Remote Interpreter. Si vous utilisez Composer autoloader, entrez votre chemin Vagrant complet vers votre fichier autoloader.

2
styl3r

Pour les futurs lecteurs, pour résoudre le même problème lors de l'utilisation de PHPStorm + Vagrant + PHPUnit en définissant le chemin vers le phpunit.phar global (pas compositeur)

Alors que les tests se sont déroulés avec succès, il me manquait l'achèvement du code. J'avais confirmé que phpunit se trouvait dans le CHEMIN sur ma machine locale, et pour m'assurer, j'avais ajouté /usr/local/bin au PHP Inclure les chemins dans PHP Settings. Toujours pas de complétion de code.

La raison: PHPstorm recherchait phpunit.phar, pas seulement phpunit. Pour corriger, sur ma machine locale, j'ai créé un lien symbolique phpunit.phar pointant vers phpunit:

$ cd /usr/local/bin/
$ Sudo ln -s phpunit phpunit.phar

Ensuite, j'ai réindexé le projet et l'achèvement du code a commencé à fonctionner.

0
jgangso