PHPUnit は、zend によって正式にサポートされているテスト フレームワークです。高品質の単体テストはプロジェクトの品質を確保するための基礎であり、バグを効果的に削減し、プログラムを改善できます。
PHPUnitをインストールします:
phpディレクトリ内:
Windows の PATH 環境変数に php 環境変数を追加します。
使いやすい:
上記から、PHPUnit を記述するための基本的なルールを確認できます:
(1) クラステストは ClassTest で記述します
(2) ClassTestはPHPUnit_Framework_TestCaseを継承します
(3) テスト メソッドはすべて test* 形式であり、@test を通じてテスト メソッドとしてマークすることもできます。
(4) アサーションメソッドassertEqualsにより実際の値と期待値をアサートします。
PHPUnit は、PHP 拡張機能およびライブラリ (PEAE) を通じて入手できます。 PEAR は、再利用可能な PHP コンポーネントのフレームワークおよび配布システムです。 PHPUnit のインストールは、PEAR インストーラー コマンドで実行できます:
pear install PHPUnit2
PEAR のバージョン命名基準によれば、PHP5 の PHPUnit パッケージは PHPUnit2 と呼ばれます。 PHPUnit は PHP4 に適したパッケージです。これについては、本書の後半の「PHP4 での PHPUnit の使用」の章で説明します。
インストールの場合のみ、PHPUnit のソース コードはローカルの PEAR ディレクトリにあります。パスは通常 /usr/lib/php/PHPUnit2 です。
PEAR インストーラーの使用が PHPUnit でサポートされている唯一のインストール方法ですが、手動でインストールすることもできます。手動でインストールするには、以下の手順に従います。
1. pear.php.net/package/PHPUnit2/download から PHPUnit リリース パッケージをダウンロードし、解凍して、ディレクトリが php.ini で定義された include_path にあることを確認します。
2. phpunit スクリプトを準備します
a. pear-phpunit スクリプトの名前を phpunit
b. スクリプト内のすべての @php_bin@ の名前を、PHP コマンド ライン インタープリターが配置されているディレクトリ (通常は /usr/bin/) に変更します。 php )。
c. このスクリプトを PATH 環境変数に含まれるディレクトリにコピーし、ファイル属性を実行可能 (chmod +x phpunit) に変更します。
3. PHPUnit2/Runner/Version.php スクリプト内のすべての @package_version@ 文字列を、インストールした PHPUnit バージョン (2.3.0 など) に置き換えます。
解決策
上記のエラー メッセージに基づいて、PEAR DB クラスのインストール エラーの問題がわかります。PEAR を再インストールするときに、PEAR インストール ディレクトリの環境変数 PHP_PEAR_INSTALL_DIR が変更されていないため、PEAR コマンドが正しく動作しませんでした。
プロンプトは、pear.bat 内の PEAR インストール環境変数 PHP_PEAR_INSTALL_DIR の値を変更することでこの問題を解決できることを示しています。
pear.bat を右クリックし、[編集] を選択して、このバッチ ファイルをメモ帳モードで開きます。 Find
REM PEARのグローバルENVを確認し、存在しない場合は設定
以下を修正
IF “%PHP_PEAR_INSTALL_DIR%”==”” SET “PHP_PEAR_INSTALL_DIR=E:\phpos\DedeAMPZ\WebRoot\Default\pear”
as
IF “%PHP_PEAR_INSTALL_DIR%”==”E:\phpos\DedeAMPZ\Program\PHP5\pear” SET “PHP_PEAR_INSTALL_DIR=E:\phpos\DedeAMPZ\WebRoot\Default\pear”
環境変数 PHP_PEAR_INSTALL_DIR の値をインストールできますPEAR がカバーするようにします。
これで、PHP PEARのインストール時に、PHP_PEAR_INSTALL_DIR(インストールディレクトリ)の値が正しくないためにPEARが使用できなくなる問題は解決しました。