web-dev-qa-db-ja.com

インクルードパスphpstormにPHPUnitが見つかりません

_Cannot find PHPUnit in include path_は、phpstormでコードを実行しようとしたときに表示されるエラーメッセージです。

PHP設定、my PHPレベル言語は5.4 (traits, short array syntax, etc.)で、インタープリターはName(5.4.7)で、Nameはユーザー定義です。

コードを実行しようとするとエラーが表示されます。正確なメッセージは次のとおりです。

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

C:\ xampp2\htdocs\ft-website

テストは2:34 PM ...

プロセスは終了コード1で終了しました

インクルードパス(。; C:\ xampp2\php\PEAR)にPHPUnitが見つかりません

32
Newtt

自分でこの問題に遭遇しました。

インクルードパスでPHPUnitを見つけることができない理由がわかりません(すべて小文字ではありますが、isであるにもかかわらず)。

これを回避するには、PHPUnitのIntelliJ設定(PHP --> PHPUnitの下)を変更します。 PHPUnit library設定をUse custom loaderに変更し、phpunit実行可能ファイルへのパスを指定しました。私のMacでは、それは/usr/local/Cellar/php54/5.4.26/bin/phpunitでした。

更新:

pearpharという名前のphpunitとしてPHPUnitをインストールすることを発見しました。以前はPHPUnitソースをインストールしていましたが、これはPHPStormでの参照とコード補完に非常に便利でした。これは、PHPアーカイブではなくphp実行可能ファイルを想定しているため、これがPHPStormで動作しなくなった理由だと思います。

そのため、pearを使用してPHPUnitをインストールするのではなく、代わりに composer を使用しています。これは、PHPUnitをプロジェクトの依存関係として直接バンドルしているため、システム依存関係よりも移植性が高くなります。 vendor/phpunit/phpunitをPHPインクルードパスをPHPStormの設定に含める)として追加する必要があります。これには2つの目的があります。

  1. PHPStormはphpunit実行可能ファイルをすぐに見つけることができます
  2. PHPStormはすべてのPHPUnitクラスにインデックスを付けますので、オートコンプリートを取得できます。わーい!

これを行うには、PhpStorm設定の言語とフレームワークに移動します。 PHPをクリックすると、右側にインクルードパスがあります

55
Ben

Composerを介してPHPUnitを追加した後に、この問題が発生しました。

use custom autoloaderSettings -> Languages and Frameworks -> PHP -> PHPUnitを選択し、カスタムオートローダーの場所として/vendor/autoload.phpを追加して、これを修正しました。

24
Matt Gibson

これは、コンポーザーを使用せずに、グローバルphpunitを使用せずに実行する方法です。

  1. Phpunitにはpharファイルが付属しています。私のパスは/ usr/local/Cellar/phpunit/5.0.0/libexec/phpunit-5.0.0.phar

enter image description here

  1. PhpStormの設定->phpunit.pharへのパス->phpunitを選択ファー

enter image description here

  1. それはすべて、良いものです。
4
a20

Benの答えに加えて、phpStorm 7.1.3では、「カスタムローダーを使用」オプションでphpunit.pharの場所を指定することで機能します。たとえば、

「スクリプトへのパス:/usr/share/php/phpunit.phar」

3
fabs

Vagrantを使用したPHPStorm 2017でも同じ問題が発生しました。最初にSettings -> Languages and Frameworks -> PHPとリモートインタープリターを追加し、Settings -> Languages and Frameworks -> PHP -> PHPUnit上部の[+]をクリックして、[by Remote Interpreter。 Composerオートローダーを使用している場合は、オートローダーファイルへの完全なVagrantパスを入力します。

2
styl3r

将来の読者のために、global phpunit.pharへのパスを定義して、PHPStorm + Vagrant + PHPUnitを使用する場合の同じ問題を修正(作曲家ではない)

テストは正常に実行されましたが、コード補完がありませんでした。 phpunitがローカルマシンのPATHにあることを確認し、確認のために、/usr/local/binをPHPにパスを含めるPHP Settings。コード補完はまだありません。

理由:PHPstormはphpunitだけでなくphpunit.pharを探していました。修正するために、ローカルマシンでphpunitを指すシンボリックリンクphpunit.pharを確立しました。

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

その後、プロジェクトのインデックスを再作成し、コード補完が機能し始めました。

0
jgangso