前提・実現したいこと
XAMPP + VSCode + PHPUnitを利用してテストを実行できる環境を作成しようとしています。
しかしPHPUnitをどのように設定すればいいのかわからず、困っています。
発生している問題・エラーメッセージ
XAMPP環境でどのようにすれば最新版のPHPUnitを使用することができるか、という点がわからない状態です。
VSCodeの拡張機能のemallin.phpunitをインストールし、テストを実行しようとしたところ以下のようなエラーが表示されました。
> Executing task: phpunit.bat --colors=always 'c:/xampp/htdocs/tests/TestHelloWorld.php' --filter testSayHelloWorld < PHPUnit 3.7.21 by Sebastian Bergmann. option --colors doesn't allow an argument ターミナル プロセス "C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe -Command phpunit.bat --colors=always 'c:/xampp/htdocs/tests/TestHelloWorld.php' --filter testSayHelloWorld" が終了コード 1 で終了しました。
↓実行方法。VSCode上でCtrl+Shift+Pより拡張機能を呼び出し、PHPUnit Testを選択してテスト実行
調べてみたところ、おそらくPHPUnitのバージョンが古い(XAMPPのPHPUnitを見ている?)ことが原因だと思われるのですが、
PHPUnitは事前にComposer経由で最新版をインストールしているのにそれを無視しているという問題が生じました。
試したこと
拡張機能の設定からPHPUnitのパスを指定できたため、そこに以下のように設定しました。
入力したパス C:\Users\(ユーザー名)\vendor\bin
その後再度VSCodeでテストを実行したのですが、以下のようにそもそもPHPUnit自体が読み込めていない状態になりました。
> Executing task: php 'C:/Users/(ユーザー名)/vendor/bin' --colors=always 'c:/xampp/htdocs/tests/TestHelloWorld.php' --filter testSayHelloWorld < Could not open input file: C:/Users/(ユーザー名)/vendor/bin ターミナル プロセス "C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe -Command php 'C:/Users/(ユーザー名)/vendor/bin' --colors=always 'c:/xampp/htdocs/tests/TestHelloWorld.php' --filter testSayHelloWorld" が終了コード 1 で終了しました。
ターミナルで上記のパスに移動し、バージョン確認をすると最新のバージョンで表示されているため、
パスは間違っていないと思うのですが、なぜこのようになってしまうのかがわからないという状態になっております。
なお適当な場所でバージョン確認をすると、古いほうのバージョンが表示される状態です。
環境変数についても、C:\Users\(ユーザー名)\vendor\binで設定しています。
試したこと2
xampp導入後のPHPUnitインストール
上記を参考に試してみたのですが、肝心のPHPUnit自体のインストール自体がうまくいかないという状態になりました。
↓ターミナル操作で表示された内容
C:\xampp\php>pear install phpunit/PHPUnit Attempting to discover channel "phpunit"... Attempting fallback to https instead of http on channel "phpunit"... unknown channel "phpunit" in "phpunit/PHPUnit" invalid package name/package file "phpunit/PHPUnit" install failed
なお上記参考サイトの内容でXAMPP内のPHPUnitを削除したのですが、
その後VSCodeの拡張機能でテスト実行したところ、古いバージョンのPHPUnitは参照されなくなったため、やはりXAMPPのPHPUnitを見ていたようでした。(その代わり参照するPHPUnitがなくなったため、テスト実行はできなくなりました)
以上の解決方法につきまして、ご教示いただけますと幸いです。
補足情報(FW/ツールのバージョンなど)
PHP 7.4.10
PHPUnit 9.3.10
追記(2020/12/08)
C:\xampp\htdocsにcomposerでインストールしたvendor以下をコピー。
C:\xampp\htdocs\vendor\binにてターミナル上でテストを実行したところ、こちらは実行できているようでした。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。