私はSymfony2を使用していますが、すべてがインストールされており、テストはこれまでのところうまくいきます。
PHPUnitのメソッドのオートコンプリートを取得したいのですが。
SymfonyのWebTestCase
クラスはPHPUnit_Framework_TestCase
から以下のように拡張されます:
abstract class WebTestCase extends \PHPUnit_Framework_TestCase
ただし、親クラスは存在しないものとして強調表示されます。
IDE PHPUnitのライブラリを使用するように指示するにはどうすればよいですか?
PHPStormを使用しています
PHPUnitはパス/Users/myUser/pear/share/pear/PHPUnit/
で利用できます
ライブラリとして追加...編集中のプロジェクトで、「外部ライブラリ」に追加します。
その後、それを含める必要があります。
私(Ubuntu 12.04)では、このフォルダーを外部ライブラリとして追加していました。
/usr/share/php/PHPUnit
PHPStormユーザーの場合は、[ファイル]-> [設定]-> [プロジェクト設定]-> [PHP]に移動し、そこにパスを追加します。
PhpStorm 2016.2には、この場合はバグでもある機能が導入されています。
$ this->コンテキストでは、オートコンプリートにオプションとして静的メソッドが含まれなくなりました。 ( https://blog.jetbrains.com/phpstorm/2016/07/completion-changes-in-phpstorm/#more-10425 )
Phpunitテストは静的メソッドとして定義されていますが、$ this->を介して呼び出されるため、phpunitのオートコンプリートは実質的に壊れています。
次のEAPでphpunitのこの変更をロールバックしました( https://youtrack.jetbrains.com/issue/WI-325 )。
次の安定版リリースまでの回避策:CTRL-スペースを2回押します。これにより、オートコンプリートフィールドに静的メソッドが表示されます。
パッケージを追加できますphpunit/phpunit
からrequire-dev
composer.jsonファイルのセクション。
実行後composer install
、PHPStormはPHPUnitクラスを認識します。
OSX、homebrewによってインストールされたphpunit、phpstorm 9.0を持っています
だから私のためにそれがどのように機能するか:設定を開くかcmd +を押します->言語とフレームワーク-> PHP->インクルードパス-> add "/usr/local/Cellar/phpunit/4.7.6/libexec/"
PHPStorm 2017.1.4を使用していますが、OSはUbuntu 16.04です。/usr/local/binにすでにphpunit.pharがインストールされています。
パスの例では〜/ WORK/..を使用しますが、フルパス/ home/myname/WORK/..を使用する必要があります。
私がしたことは、私の家の中にあるフォルダーに移動します(例:〜/ WORK /)、そして実行します:
composer require phpunit/phpunit
composerがダウンロードされてphpunitがダウンロードされた後、新しいプロジェクトインクルードパスを追加しました:
~/WORK/vendor/phpunit/phpunit/src
これで、PHPUnitのオートコンプリートはすべて完了しました。PHPUnitのソースコードに直接ジャンプして、PHPUnitのコードをcomposerで更新し続けることができます。また、phpunit.pharを/ usr/local/binから削除し、〜/ WORK/vendor/bin/phpunitへのリンクに置き換えました