最近laravelをインストールし、/ testsディレクトリにいくつかのテストを記述しましたが、phpunit.xml
が存在するのと同じフォルダーのcmdでphpunit
を使用すると、 'phpunit' is not recognized as an internal or external command,operable program or batch file.
。Windows7を使用しています。どうすればよいですか?
Unnawutが言ったように、vendor/phpunit/phpunit/phpunitはネイティブのWindows実行可能ファイルではないため、機能しません。基本的に「phpphpunit」を呼び出す.batまたは.cmdファイルが必要です。ベンダー/ビンに1つあるはずですが、作業を簡単にするために、これを試してください-サイトのルートに次のファイルphpunit.bat(または.cmd)を作成します。
@ECHO OFF
SET BIN_TARGET=%~dp0/vendor/phpunit/phpunit/phpunit
php "%BIN_TARGET%" %*
これで、サイトのルートにあるコマンドラインからphpunitを呼び出すことができます。
ウィンドウユーザーでこの問題が発生している場合は、次のようにします。
PHPUnitコマンドの場所をWindowに指示する必要があります。まず、このファイルが/ vendor/binの下のLaravelプロジェクトに存在することを確認できます。
最後に、ウィンドウのPATH変数の/vendor/bin
にフルパスを追加する必要があります。
これを行うには:1。「コンピュータ」を右クリックしてから「プロパティ」をクリックします
Advanced system settings
をクリックしますAdvanced
の下の次のウィンドウでEnvironmental Variables
をクリックしますPATH
をダブルクリックし、追加してPATH変数を設定しますlaravel-project/vendor/bin;
へのフルパス最後に;
があることに注意してください。
注意:他の変数がPATHにすでに存在している可能性があるため、最後に独自の変数を追加して上書きしないようにしてください
Ok
をクリックしますalias phpunit="vendor/bin/phpunit"
このコマンドをコマンドラインに追加しました"phpunit"
vendor\bin\phpunit
それは私のために働いた。
Phpunit実行可能ファイルがプロジェクトのルートフォルダーにないため、見つからないのです。
ここで、composer.json
ファイルにすでにphpunitがあると仮定します。次のようになります。
"require-dev": {
"phpunit/phpunit": "3.7.*"
}
コンポーザーによってインストールされると、パッケージはvendor/vendor_name/package_name
にインストールされます。したがって、プロジェクトルートで実行するには、次のコマンドを入力します。
vendor/phpunit/phpunit/phpunit
phpunit
をグローバルにインストールします。
composer global require phpunit/phpunit
その後、phpunit
を実行できるようになります(Windowsでも):
phpunit
それが次のように言っている場合:
$ phpunit tests/Feature/ExampleTest.php PHPUnit 3.7.21 by SebastianBergmann。
クラス「tests/Feature/ExampleTest」が「C:\ xampp\htdocs\blog1\tests\Feature\ExampleTest.php」に見つかりませんでした。
MacではなくWindowsを使用しているため、tests/Feature/ExampleTest.phpと入力する代わりに、tests "\\ Feature \\ Example.test"と言います。 :) GL&HF
\または/だけを使用すると、エラーが発生します:)