CakePHP は、開発者が Web アプリケーションを迅速に構築できるようにする PHP ベースのオープンソース Web アプリケーション フレームワークです。 Codeception は、開発者が自動テストを実施するのに役立つ強力なテスト フレームワークです。この記事では、CakePHP でのテストに Codeception を使用する方法を紹介します。
まず、Codeception をインストールする必要があります。これは Composer を通じてインストールでき、次のコマンドを実行します:
composer require --dev codeception/codeception
他のモジュールが必要な場合は、次のようにインストールできます:
composer require --dev codeception/module-webdriver composer require --dev codeception/module-db composer require --dev codeception/module-asserts
Codeception をインストールした後、CakePHP アプリケーションのルート ディレクトリで次のコマンドを実行して Codeception を初期化する必要があります:
vendor/bin/codecept init
コマンドを実行すると、一連の対話型の質問が表示されます。と答えた。たとえば、テストの種類、テスト ファイルの保存場所などを選択する必要があります。
Codeception はさまざまなテスト レベルを提供します。 CakePHP では、機能テストを使用して、アプリケーションが期待どおりに動作するかどうかをテストできます。機能テストでは、フォームへの入力、リンクのクリックなど、アプリケーションとのユーザー操作をシミュレートします。以下はサンプル テストです:
<?php $I = new FunctionalTester($scenario); $I->wantTo('ensure that login works'); $I->amOnPage('/'); $I->click('Login'); $I->seeCurrentUrlEquals('/users/login'); $I->fillField('username', 'testuser'); $I->fillField('password', 'testpass'); $I->click('Login'); $I->seeCurrentUrlEquals('/dashboard'); $I->see('Welcome, testuser');
上記のサンプル テストは、ユーザーのログインをシミュレートし、それが成功するかどうかを確認しようとします。 $I->amOnPage() および $I->click() を通じてユーザーの動作をシミュレートし、$I->see() および $I->seeCurrentUrlEquals() によって期待どおりかどうかを検証します。
テストを作成した後、次のコマンドを使用してテストを実行できます。
vendor/bin/codecept run
vendor/bin/codecept run functional MyFirstTestCest
このうち、MyFirstTestCest はテスト ファイルの名前です。特定のテスト メソッドのみを実行する場合は、次のコマンドを使用できます。
vendor/bin/codecept run functional MyFirstTestCest:testLogin
ここで、testLogin はテスト メソッドの名前です。
CakePHP は単体テストにデフォルトで PHPUnit を使用します。 Codeception も PHPUnit をベースにしているため、テスト手法とも言えます。 Codeception の利点は、テストの作成、実行、管理が簡単になることです。
CakePHP で PHPUnit と Codeception を同時に使用する必要がある場合は、次のコードを phpunit.xml ファイルに追加して、Codeception テストを実行できます。
<testsuites> <testsuite name="cake"> <directory>./tests/TestCase/</directory> <directory>./vendor/codeception/codeception/tests/unit/</directory> </testsuite> </testsuites>
上記のコードは、 PHPUnit テストの実行時にも使用されます。Codeception テストの実行も含まれます。
概要
この記事では、CakePHP でのテストに Codeception を使用する方法を紹介します。 Codeception は、機能テスト、エンドツーエンド テスト、API テストなど、アプリケーションをより包括的にテストするのに役立つ豊富なテスト機能を提供します。同時に、Codeception は使いやすく、簡単に開始できるため、テストの効率を大幅に向上させることができます。
以上がCakePHP で Codeception を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。