ホームページ >バックエンド開発 >PHPチュートリアル >phpmaster | Phpunitを始めましょう
このチュートリアルは時代遅れです。 PHPunitの現在の紹介については、最近公開された更新ガイドを参照してください。
開始する前に、phpunitがインストールされていることを確認してください。 指示は、
> https://www.php.cn/link/991c0955da231335e4864d3389698fd5ユーザーを表す単純なPHPクラスから始めます:
ユーザーの挨拶をテストするには、テストクラスを作成します
。 テストクラス名は通常、テスト対象のクラスを反映しています。 テストクラスには、テスト済みのクラスとPHPunitのオートローディングが含まれます:<?php class User { protected $name; public function getName() { return $this->name; } public function setName($name) { $this->name = $name; } public function talk() { return "Hello world!"; } }
UserTest
各テストは、このクラス内のメソッドです。
<?php require_once "PHPUnit/Autoload.php"; require_once "User.php"; class UserTest extends PHPUnit_Framework_TestCase { }
assertEquals()
<?php ... class UserTest extends PHPUnit_Framework_TestCase { public function testTalk() { $user = new User(); $expected = "Hello world!"; $actual = $user->talk(); $this->assertEquals($expected, $actual); } }
各テスト方法でオブジェクトを繰り返しセットアップすることは非効率的です。 phpunitフィクスチャーは、各テストの前に状態を確立し、その後リセットします。 ユーザーを作成して初期化するためにオーバーライドします:
setUp()
各テストの後にユーザーを設定します:
<?php ... class UserTest extends PHPUnit_Framework_TestCase { protected $user; protected function setUp() { $this->user = new User(); $this->user->setName("Tom"); } }
さて、tearDown()
を単純化します:
<?php ... class UserTest extends PHPUnit_Framework_TestCase { ... protected function tearDown() { unset($this->user); } }
testTalk()
テストを実行してください
<?php ... class UserTest extends PHPUnit_Framework_TestCase { ... public function testTalk() { $expected = "Hello world!"; $actual = $this->user->talk(); $this->assertEquals($expected, $actual); } }
を使用して端末からテストを実行します。 a "。"テストが成功したことを示し、「F」は失敗を意味します。 他の文字は、エラー、スキップテスト、または不完全なテストを表します
テストの障害の処理phpunit
クラスを変更するテストが失敗し、詳細なエラー情報が提供されます。 結論
User
この紹介は、phpunitの単純さを示しています。 その能力をさらに調べてください。実験し、エラーから学び、高度な技術とアサーション方法についてはPHPunitマニュアルを参照してください。 提供されたコード(GitHubで利用可能)は、依存関係管理に作曲家を使用します。
を呼び出す必要があります。 Archipoch / ShutterStock
を介した画像require
以上がphpmaster | Phpunitを始めましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。