Fuelphp-unit-testing

提供:Dev Guides
移動先:案内検索

FuelPHP-単体テスト

単体テストは、大規模プロジェクトの開発に不可欠なプロセスです。 *単体テスト*は、開発のあらゆる段階でアプリケーションのコンポーネントのテストを自動化するのに役立ちます。 アプリケーションのコンポーネントがプロジェクトのビジネス仕様に従って動作していない場合に警告します。 単体テストは手動で実行できますが、多くの場合自動化されています。

PHPUnit

FuelPHPフレームワークは、PHPUnitテストフレームワークと統合されます。 FuelPHPフレームワークの単体テストを作成するには、PHPUnitをセットアップする必要があります。 PHPUnitがインストールされていない場合は、ダウンロードしてインストールします。 次のコマンドを使用して、システムでのPHPUnitの可用性を確認できます。

phpunit --version

PHPUnitが使用可能な場合、次のような結果が表示されます。

PHPUnit 5.1.3 by Sebastian Bergmann and contributors.

単体テストの作成

ユニットテストを記述するためにFuelPHPが提供する標準の場所は、fuel/app/testsです。 コントローラー、モデル、ビュー、プレゼンターの単体テストを別々のフォルダーに書き込むことができます。 Model_Employeeオブジェクトを検証する単体テストを作成しましょう。

  • *ステップ1 *-fuel/app/testsフォルダーの下にモデルのフォルダーを作成します。
  • *ステップ2 *-fuel/app/tests/model/フォルダーの下にファイルemployee.phpを作成します。
  • *ステップ3 *-PHPUnitで提供されるTestCaseクラスを拡張して、新しいテストクラスTest_Model_Employeeを作成します。
  • *ステップ4 *-メソッドtestInstanceOfEmployee()を記述して、PHPUnitのTestCaseクラスによって提供されるassertInstanceOf()メソッドを使用して、従業員オブジェクトの作成を資産化します。

以下は完全なコードです-

<?php
   class Test_Model_Employee extends TestCase {
      public function testInstanceOfEmployee() {
         $this->assertInstanceOf(Model_Employee::class, new Model_Employee());
      }
   }

テストグループの作成

FuelPHPには、テストケースのグループを作成するオプションがあります。 グループの作成は、docblock属性@groupを追加するのと同じくらい簡単です。 MyTestグループ内にテストケースを含めます。

<?php
  /* *
     * @group MyTest
   */
   class Test_Model_Employee extends TestCase {
      public function testInstanceOfEmployee() {
         $this->assertInstanceOf(Model_Employee::class, new Model_Employee());
      }
   }

テストを実行

ディレクトリ内のすべてのテストを実行するには、次のコマンドを使用します。

$ php oil test

特定のテストグループを実行するには、次のコマンドを使用します。

$ php oil test --group = MyTest

コマンドを実行すると、次の応答が返されます。

Tests Running...This may take a few moments.
PHPUnit 5.1.3 by Sebastian Bergmann and contributors.
                                        1/1 (100%).
Time: 123 ms, Memory: 8.00Mb
OK (1 test, 1 assertion)