PhpStorm IDEの設定に問題がありましたhttp://symfony.com/doc/current/components/phpunit_bridge.htmlSymfony 3.3 で作業中に。
phpunit.phar
代わりにダウンロードしbin
て使用することにしました。
Symfony 3.4 (および Symfony 4)phpunit.xml.dist
には、すぐに使える機能すらないため、簡単に使用できないという問題がありますphpunit.phar
。
flex を使用して PHPUnit をインストールしました:
composer req phpunit
これにより、phpunit.xml.dist が作成され、次のコマンドでコマンドラインからテストを実行できるようになりました。
php bin/phpunit
しかし、やはり PhpStorm でそれを使用することはできませんでした。
そこでダウンロードしphpunit.phar
、提供されている phpunit.xml.dist と連携して動作できるようになりました。
質問1:PhpStorm IDE で phpunit-bridge を使用する方法はありますか?
質問2:Symfony 4 (phpunit-bridge または標準の phpunit.phar) のベスト プラクティスは何ですか?
ベストアンサー1
私が通常行うことは、PHPStorm 上の phpunit テスト フレームワークを、.phpunit
ブリッジによって作成された秘密のディレクトリにポイントすることです。
「phar」ファイルの場所は次のとおりです。
bin/.phpunit/phpunit-(major).(minor)/phpunit
または場合によっては:
vendor/bin/.phpunit/phpunit-(major).(minor)/phpunit
この後、phpunit
ユニットテストの実行時に、指定された実行可能ファイルが正しく呼び出されますが、オプションが付きます--no-configuration
。これにより、Composer によって生成されたオートローダーがどこにも指定されていないため、オートロードの問題 (多くの「クラスが見つかりません」エラー) が発生する可能性があります。
phpunit.xml
これを修正するには、プロジェクト内に次のような Composer のオートローダーを指定するファイルを用意する必要があります(これは一般的な方法です)。
<phpunit bootstrap="vendor/autoload.php">
これをphpunit.xml
「デフォルト構成ファイル」オプションで指定すれば、準備は完了です。
phpunit-bridge を使用した phpstorm について: カスタム スクリプトとしては可能ですが、優れたインターフェイスは得られず、PHPStorm インターフェイスを介して特定のテストを実行 (およびデバッグ) することもできません。