私たちのプロジェクトにはphpが含まれるため、phpコードの単体テストを行う必要があります。ある程度理解した後、PHPUnit を使用して php をテストすることにしました。 PHPUnit の設定方法を理解するのに多くの時間を費やし、公式 Web サイトのドキュメントを読むのは涙が出るほどでした。しかし、その設定方法を知ってしまえば、実際には非常に簡単です。
システム: Windows 10 Professional エディション
PHPバージョン: PHP 5.5.12
サーバーツール: WAMPSERVER 2.5
PHPUnit バージョン: PHPUnit 4.8
1.PHPUnitを設定します
まず、PHPUnit 公式 Web サイト (ここをクリックして入る) にアクセスし、対応するバージョンをダウンロードします。私たちはphp 5.5を使用しているので、PHPUnit 4.8を選択しました。 .phar
文件,并把名字改为 phpunit.phar
を入手してください。
このファイルを任意の場所に置きます。私自身を例として、それをプロジェクトのディレクトリ、つまり D:repositoryCourseManagementmobile_api_test
に置きました。
マイコンピュータを右クリックし、プロパティを選択します。左側にある システムの詳細設定 をクリックします。このとき、システムプロパティが表示されるので、詳細設定タブを選択し、右下隅にある環境変数をクリックします。 ユーザー変数で、PATHをダブルクリックし、変数値の後にを追加します。先頭のセミコロンに注意して、phpunit.pharが保存されているパスを入力します。これは、PHPUnit を任意の場所で使用できるように構成されています。構成されていない場合、PHPUnit は phpunit.phar のパスで使用する必要があります。 ;D:repositoryCourseManagementmobile_api_test
公式ドキュメントに記載されていないことの 1 つは、PHP の環境変数も設定する必要があることです。たとえば、php.exe
がE:softwarewampbinphpphp5.5.12
にある場合、その後に;E:softwarewampbinphpphp5.5.12
も追加する必要があります。パス
php.exe
在E:softwarewampbinphpphp5.5.12
里,那么也要在 PATH 后面添加;E:softwarewampbinphpphp5.5.12
. PS: おそらく、PHP IDE をインストールしていないため、この環境変数を追加しようと思い立って設定していないのかもしれません。
ショートカット キー Win + R
,输入cmd并回车。进入存放phpunit.phar的路径。输入 echo @php "%~dp0phpunit.phar" %* > phpunit.cmd
并回车。接着输入 phpunit --version
并回车。如果得到输出 PHPUnit x.y.z by Sebastian Bergmann and contributors.
则表示配置好了如果有误,输入exit
を押して、Enter キーを押して再試行してください)。以下に示すように:
2. テストにはPHPUnitを使用します
PHPUnit を使用するには、クラスを使用する必要があります。例として、login.php の場所は D:repositoryCourseManagementmobile_api
) です。初期バージョンは次のようになります。このブログのコードについての苦情は歓迎です):
このままではテストする方法がないので、いくつか修正を加えました。 login.php
所在文件夹里建立一个文件夹 classes
,并在里面新建 class_login.php
,内容为 login.php
修正バージョンの最初:
さらに、login.php
の元の内容も変更する必要があります。変更された内容は次のとおりです。
リーリー
テストファイルの作成を開始します
このフォルダーにテストファイルを置きました。新しいファイル「login_test.php」を作成し、次のコードを記述します:
D:repositoryCourseManagementmobile_api_test
ショートカット キー Win + R、cmd と入力して Enter を押します。テストファイルのディレクトリを入力し、
と入力してテストを実行します。
phpunit login_test.php
簡単なテストが完了しました。
3. 探索プロセス初めて PHPUnit をダウンロードしたとき、
ファイルを入手して、それを解凍する必要があると思いましたが、恥ずかしかったです。長い間探した結果、そのようなファイルを解凍できるWebサイトを見つけました(ここをクリックして入力してください)。でも駄目だ…
.phar
公式ドキュメントに従っていると、実行時にエラーが発生しました:
「php」は内部コマンド、外部コマンド、または操作可能なプログラムとして認識されません
またはバッチファイル。Google検索、Bing検索、StackOverFlow検索、Baidu検索、見つかった答えは役に立ちません。
主な理由は、これらはすべて PHP 環境変数が設定されていることを前提としているためです...
最后想着是不是之前生成的 phpunit.cmd
有问题?于是查看一下这个文件的内容。突然想到是不是PHP环境变量没设置的原因?打开cmd,输入 php --version
。得到:
‘php’ 不是内部或外部命令,也不是可运行的程序
或批处理文件。
和上面的错误一样!果然是这里的问题。于是把 ;E:\software\wamp\bin\php\php5.5.12
添加到环境变量中。再运行 php --version
得到:
<ol class="dp-c"><li class="alt"><span><span>PHP 5.5.12 (cli) (built: Apr 30 2014 11:20:58) </span></span></li><li><span>Copyright (c) 1997-2014 The PHP Group </span></li><li class="alt"><span>Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies </span></li><li><span>with Xdebug v2.2.5, Copyright (c) 2002-2014, by Derick Rethans </span></li></ol>
再进入 phpunit.cmd
所在文件夹,运行 phpunit --version
。得到:
PHPUnit 4.8.18 by Sebastian Bergmann and contributors.
问题解决!
经过这次的探索,以后碰到”找不到xxx”这种问题的时候,首先会想起环境变量的设置。
比如解决这个问题的同一天下午,我想使用Visual Studio Code的Git功能,但是却得到提示:
第一个反应是:我明明安装了msysgit啊。
第二个反应是:会不会是环境变量没配置?打开环境变量配置,果然没有。于是将 git.exe
所在文件夹的路径添加进去。重启visual Studio Code,问题解决!