ホームページ >バックエンド開発 >PHPチュートリアル >phpユニットを使用してphpunitをテストする方法

phpユニットを使用してphpunitをテストする方法

php中世界最好的语言
php中世界最好的语言オリジナル
2017-12-20 17:40:461221ブラウズ

まず、単体テストの概念を理解する必要があります。単体テストとは、関数やメソッドなどのソフトウェアの基本ユニットをテストして、その戻り値や動作が期待どおりであるかどうかを確認することを指します。多くのコンポーネントで構成され、実行プロセスが一貫しているため、実際には非常に責任があります。ユニットフラグメントをテストするには、実行コンテキスト (またはパラメーター) と実行環境 (一部のオブジェクトをシミュレートするためのスタブなど) を提供する必要があります。

php単体テスト: phpunit

の公式Webサイトに詳細なチュートリアルがあります。ここではいくつかの補足コンテンツを紹介します。

まず、phpunit ソフトウェア自体は PHP 言語によって実装されているということを理解する必要があります。その使用はブラウザーからアクセスするものではありません。

これを理解することが重要です。多くの初心者はここでつまずきます。非常に基本的でシンプルですが、あまり言及されていないようです

公式Webサイトからダウンロードすると、pharファイルが得られます。pharアーカイブファイルの概要については、以前の記事「PHP開発」を参照してください。アーカイブ形式 Phar ファイルの概念と使用法

また、phpunit の使用法ドキュメントをダウンロードし、その中のインストール方法に従ってインストールし、コマンド ラインで次のコマンドを入力します:

?
phpunit --help


ヘルプ メッセージが表示された場合は、インストールは成功しました。php の現在のディレクトリに yunke のテスト ケースを作成します。内容は次のとおりです。次に、コマンド ラインで次のコマンドを入力します。

<?php
use PHPUnit\Framework\TestCase;
class yunkeTest extends TestCase
{
  public function testPushAndPop()
  {
    $stack = [];
    $this->assertEquals(0, count($stack));
    array_push($stack, &#39;foo&#39;);
    $this->assertEquals(&#39;foo&#39;, $stack[count($stack) - 1]);
    $this->assertEquals(1, count($stack));
    $this->assertEquals(&#39;foo&#39;, array_pop($stack));
    $this->assertEquals(0, count($stack));
  }
}
?>

次の内容が表示されます。

phpunit yunke

おめでとうございます。単体テストが正常に実行されました。最初の行は作成者情報です (Sebastian Bergmann、この人はとても気に入っています、署名)

2 行目はピリオドで始まり、すべてのテストが正常に成功したことを示します

あなた上記の php コードで何が起こっているのか疑問に思われるかもしれません。

これは単純に配列操作をテストするテスト ケースです。単体テストは通常​​、次の 4 つの手順を実行します。

1. 製品コード クラス Class のテストはクラス ClassTest で記述されます。

2. ClassTest は (通常は) PHPUnitFrameworkTestCase を継承します。

3. テストはすべて test* という名前のパブリック メソッドです。メソッドのドキュメント コメント ブロック (docblock) で @test アノテーションを使用して、メソッドをテスト メソッドとしてマークすることもできます。
4. テスト メソッド内では、assertEquals() などのアサーション メソッドを使用して、実際の値と期待される値の一致についてアサーションを行います。

ここでいくつかの場所で混乱するかもしれません:

1. コメント ブロックで使用されるアノテーションは、PHP によってリフレクションを通じて取得され、プログラムは取得した情報をリストされたテスト ケース コードの TestCase に使用できます。上記 クラスはどこから来たのでしょうか?読み込まれていないのでしょうか?

前述したように、phpunit 自体は PHP 言語で記述され、phar にパッケージ化されて使用されます。実行時には、パッケージ内のスタブ ファイルが最初に実行されます


上記の Yunke の別の記事に従ってください。 phar post を使用して phpunit.phar パッケージを抽出して復元するか、phpstorm などの IDE を使用して直接開きます

.phar/stub.php には、TestCase クラスが必要な「phpunit yunke」です。このコマンド ライン コードは、まずスタブ ファイルから開始して phpunit スクリプトを実行し、次に phpunit がテスト ケース コードをロードします

プログラムはテスト ケース スクリプトから実行を開始しないことがわかります。 TestCase クラスの由来がわかりました

上記の内容と公式 Web サイトのドキュメントを通じて、初心者でもスムーズに始めることができるはずです

これらの事例を読んだ後は、方法を習得したと思います。さらに興味深い内容については、 PHP 中国語 Web サイトの他の関連記事にも注目してください。

関連記事:

phpはgitデプロイメント環境を使用します


PHPカスタム関数を使用してデカルト積を生成します

PHP製品のフラッシュセールタイミングの実装(大規模なトラフィックソリューションを解決)

以上がphpユニットを使用してphpunitをテストする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。