PHPUnit コマンド ライン テスト ツールは、phpunit コマンドを通じて呼び出されます。次のコードは、PHPUnit コマンド ライン テスト ツールを通じてテストを実行する方法を示しています。
phpunit配列テスト
Sebastian Bergmann による PHPUnit 2.3.0
時間: 0.067288
OK (2 テスト) |
テストごとに、PHPUnit コマンド ライン テスト ツールはプロセスを示す文字を出力します:
·テストでは「.」が正常に出力されました。
·テスト メソッドを実行すると、アサーション エラーが発生し、「F」が出力されます。
· テスト メソッドを実行すると、エラーが発生し、「E」が出力されます。
· テストが完了していないか、テストに「I」が出力されません (本書の最後にある「未完了のテスト」の章を参照)。
PHPUnit は失敗とエラーを区別できます。失敗は PHPUnit アサーション違反であり、エラーは予期しない例外または PHP エラーです。間違いは失敗よりも修正しやすいため、この区別が役立つ場合があります。問題のリストが長い場合は、まずすべてのエラーを解決してから、障害が残っているかどうかを確認することをお勧めします。
次のコード コマンド ライン テスト ツール オプションのいくつかを見てみましょう:
phpunit --ヘルプ
PHPUnit 2.3.0、Sebastian Bergmann 作
使用法: phpunit [スイッチ] UnitTest [UnitTest.php]
--coverage-data <ファイル> コードカバレッジデータを生形式でファイルに書き込みます
--coverage-html <ファイル> コードカバレッジデータをHTML形式でファイルに書き込みます
--coverage-text <ファイル> コードカバレッジデータをテキスト形式でファイルに書き込みます
--testdox-html <ファイル> アジャイルドキュメントを HTML 形式でファイルに書き込みます。
--testdox-text <ファイル> アジャイルドキュメントをテキスト形式でファイルに書き込みます
--log-xml <ファイル> テストの進行状況を XML 形式でファイルに記録します
--loader <ローダー> 使用するTestSuiteLoader実装
--skeleton Unit.php. のUnitのスケルトンUnitTestクラスを生成します。
--wait 各テストの後にキーストロークを待ちます。
--help この使用法情報を出力します。
--version バージョンを出力して終了します。 |
phpunit単体テスト
UnitTest クラスによって提供されるテストを実行します。このテストは、ソース ファイル UnitTest.php で定義する必要があります。
クラス UnitTest は、PHPUnit2_Framework_TestCase クラスを継承するか、パブリック静的メソッド スイートを提供して、PHPUnit2_Framework_Test オブジェクトのクラス (たとえば、クラス PHPUnit2_Framework_TestSuite のインスタンス) を返す必要があります
phpunit UnitTest UnitTest.php
UnitTest クラスによって提供されるテストを実行します。このテストは、コマンドで指定されたソース ファイル (UnitTest.php) で定義する必要があります。
--coverage-data、--coverage-html、および --coverage-text
テストを実行するためのコード カバレッジ情報の分析と収集を制御します (本書の最後にある「コード カバレッジ分析」セクションを参照)
--testdox-html と --testdox-text
テストを実行するためのアジャイル ドキュメントを HTML またはプレーン テキスト形式で生成します (本書の最後にある「テストのその他の用途」の章を参照)
--log-xml
テストを実行するためのログ ファイルを XML 形式で生成します。
次の例は、ArrayTest のテスト用に生成された XML ログ ファイルを示しています。
<?xml version="1.0" エンコーディング="UTF-8"?>
<テストスイート>
<テストスイート名="ArrayTest" テスト="2" 失敗="0" エラー="0" 時間="0.020026">
<テストケース名="testNewArrayIsEmpty" class="ArrayTest" time="0.014449"/>
<テストケース名="testArrayContainsAnElement" class="ArrayTest" time="0.005577"/>
</testsuite>
</testsuites> |
次の XML ログ ファイルは、FailureErrorTest という名前のテスト クラスの 2 つのテスト (1 つは testFailure、もう 1 つは testError) に対して生成されます。これは、失敗とエラーがどのように個別に表現されるかを示しています。
<?xml version="1.0" encoding="UTF-8"?>
<テストスイート>
<テストスイート名="FailureErrorTest" テスト="2" 失敗="1" エラー="1" 時間="0.013603">
<テストケース名="testFailure" クラス="FailureErrorTest" time="0.011872">
<失敗メッセージ="" type="PHPUnit2_Framework_AssertionFailedError"></failure>
</テストケース>
<テストケース名="testError" クラス="FailureErrorTest" time="0.001731">
<エラーメッセージ="" type="Exception"></error>
</テストケース>
</testsuite>
</testsuites>
--ローダー |
使用するテスト スイート ローダーを指定します。
標準のテスト スイート ローダーは、現在の作業ディレクトリと PHP の include_path 構成ディレクティブで定義されたパスでソース ファイルを検索します。 PEAR の命名規則によれば、Project_Package_Class の形式でクラス名にマッピングされたソース ファイルは Project/Package/Class.php になります。
--骸骨
Unit クラス (ファイル Unit.php 内) に対して、UnitTest という名前のテスト ケース クラス (ファイル UnitTest.php 内) を生成するフレームワーク。元のクラスのメソッドごとに、未完了のテスト ケースが生成されたテスト ケース クラスに提供されます (本書の最後にある「未完了のテスト」セクションを参照)。
次の例は、Sample という名前のクラスのテスト クラス スケルトンを生成する方法を示しています。
phpunit --skeleton サンプル
Sebastian Bergmann による PHPUnit 2.3.0
サンプルのテストクラススケルトンを に書きました
サンプルテスト.php.
phpunit サンプルテスト
Sebastian Bergmann による PHPUnit 2.3.0
私
時間: 0.007268
不完全なテスト ケースが 1 つありました:
1) テストサンプルメソッド(サンプルテスト)
OK、しかしテストケースは不完全です!!!
実行されたテスト: 1、不完全なテスト ケース: 1. |
既存のコードのテストを作成する場合、次のような同じコード スニペットを多数繰り返す必要があります。
パブリック関数 testSampleMethod( ) {} |
PHPUnit は、既存のコードを分析し、テスト ケース クラスのフレームワークを生成するのに役立ちます。
--待ってください
各テストの終了時に、キーストロークを待ちます。これは、常にテストのみが実行されているウィンドウでテストを実行している場合に特に便利です。
ヒント: テスト対象のコードに PHP 構文エラーがある場合、テキスト インターフェイス テストはエラー メッセージを出力せずに直接終了します。標準のテスト スイート ローダーは、テスト スイートのソース ファイルに PHP 構文エラーがないかチェックしますが、テスト スイートに含まれるソース ファイルの構文エラーはチェックしません。 PHPUnit の将来のバージョンでは、サンドボックス化された PHP インタープリタ クラスを使用してこの問題に対処する予定です。
http://www.bkjia.com/PHPjc/508482.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/508482.html技術記事 PHPUnit コマンド ライン テスト ツールは、phpunit コマンドを通じて呼び出されます。次のコードは、PHPUnit コマンド ライン テスト ツールを通じてテストを実行する方法を示しています。 phpunit ArrayTest PHPUnit 2.3.0 by Sebastian...