PHPUnit と Mockery を単体テストに使用するにはどうすればよいですか?
PHP プロジェクト開発において、単体テストは非常に重要なタスクです。 PHPUnit と Mockery は、2 つの非常に人気のある PHP 単体テスト フレームワークです。PHPUnit は広く使用されている単体テスト ツールであり、Mockery は、オブジェクト モックを作成および管理するための統一された簡潔な API の提供に重点を置いたオブジェクト シミュレーション ツールです。
PHPUnit と Mockery を使用すると、開発者は単体テストを迅速かつ効率的に実行して、コード ベースの正確性と安定性を確認できます。この記事では、単体テストを便利に行うためのPHPUnitとMockeryの使い方を紹介します。
- まず、PHPUnit と Mockery をインストールする必要があります。ここでは、Composer を使用してこれら 2 つのツールをすばやくインストールします。 PHPUnit と Mockery を使用するプロジェクト ディレクトリで、次のコマンドを実行します。
composer require --dev phpunit/phpunit mockery/mockery
このコマンドは、単体テストの実行を容易にするために、PHPUnit と Mockery を開発依存関係としてプロジェクトにインストールします。
- 次に、PHPUnit を使用してテスト ケースを作成する方法を示します。基本的な算術演算を処理する「Calculator」というクラスを作成しているとします。このクラスにテスト ケースを作成し、加算操作を正しく実行できるかどうかを確認します。
プロジェクト フォルダーに、「CalculatorTest.php」というファイルを作成し、その中に次のコードを記述します。
use PHPUnitFrameworkTestCase; use MyAppCalculator; class CalculatorTest extends TestCase { public function testAddition() { $calculator = new Calculator(); $result = $calculator->add(2, 2); $this->assertEquals(4, $result); } }
このテスト ケースでは、最初に Calculator オブジェクトをインスタンス化します。次に、add() メソッドを使用して加算操作を実行します。最後に、assertEquals() メソッドを使用して、操作の結果が期待した値であるかどうかを検証します。
- 次に、Mockery を使用してオブジェクトをシミュレートする方法を見てみましょう。多くの場合、テスト時に実際のオブジェクトを使用するのではなく、テストをより洗練され効率的に行うために、モック オブジェクトを使用してオブジェクトを置き換えます。 Mockery を使用すると、これらのモック オブジェクトを簡単に作成して使用できます。
ユーザー関連のビジネス ロジックを処理するために、「UserService」という名前のクラスを作成しているとします。このクラスは、ユーザー データ ストアにアクセスするために「UserRepository」と呼ばれる別のクラスに依存します。 Mockery を使用してこの依存関係をシミュレートし、UserService がテストで正常に実行されていることを確認できます。
プロジェクト フォルダーに、「UserServiceTest.php」というファイルを作成し、その中に次のコードを記述します。
use PHPUnitFrameworkTestCase; use MyAppUserService; use MyAppUserRepository; use MockeryAdapterPhpunitMockeryPHPUnitIntegration; class UserServiceTest extends TestCase { use MockeryPHPUnitIntegration; public function testCreateUser() { $repo = Mockery::mock(UserRepository::class); $repo->shouldReceive('create') ->once() ->with(['name' => 'Alice']); $service = new UserService($repo); $service->createUser('Alice'); } }
このテスト ケースでは、「Mockery ::mock()」を使用します。モック UserRepository オブジェクトを作成する関数。次に、「ShouldReceive()」メソッドを通じて、このモック オブジェクトの「create()」メソッドが 1 回呼び出され、「'Alice'」という名前の配列がパラメータとして渡されることが期待されます。最後に、UserService オブジェクトをインスタンス化し、その「createUser()」メソッドを通じてモック オブジェクトの「create()」メソッドを呼び出します。
- 最後に、PHPUnit と Mockery でテスト ケースを実行する方法について説明します。上記の 2 つのテスト ケースを作成したと仮定すると、次のコマンドを使用してそれらを実行できます。
./vendor/bin/phpunit
このコマンドは、プロジェクト内のすべてのテスト ケースを自動的に検索して実行します。すべてのテストに合格すると、PHPUnit はこれを確認するメッセージを出力します。
特定のテスト ケースのみを実行する場合は、コマンドの後にテスト ファイルまたはテスト メソッドを指定できます。たとえば、「CalculatorTest.php」の testAddition() メソッドを実行するには、次のコマンドを実行します。
./vendor/bin/phpunit tests/CalculatorTest.php --filter testAddition
これらの簡単な手順で、PHP 単体テストに PHPUnit と Mockery を使用できます。正しく完全なテスト スイートは、PHP プロジェクト コード ベースの品質と安定性を確保し、継続的な改善と継続的な開発を促進するのに役立ちます。
以上がPHPUnit と Mockery を単体テストに使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています
