PHP で BDD テストに Behat を使用するにはどうすればよいですか?

WBOY
リリース: 2023-06-02 09:24:01
オリジナル
963 人が閲覧しました

Behat は動作駆動開発 (BDD) に基づくテスト フレームワークで、主に PHP アプリケーションの機能と動作をテストするために使用されます。 Behat を使用すると、テストがよりシンプルになり、読みやすく、保守しやすくなるだけでなく、さまざまな PHP フレームワークに統合するのも非常に簡単になります。

この記事では、Behat の基本概念と構文を紹介し、PHP プロジェクトでの BDD テストに Behat を使用する方法の例をいくつか示します。また、Behat で PHP ハンドラーとカスタム ステップを使用して、PHP アプリケーションをより適切にテストする方法についても説明します。

  1. 基本概念と構文

Behat は、最初にアプリケーションの動作を定義し、次にそれらをテストする自動テスト スクリプトを作成する動作駆動開発 (BDD) フレームワークです。行動。このアプローチにより、テストにおける曖昧さや誤解を減らしながら、テストをビジネス ルールとより密接に結び付けることができます。

Behat テスト ケースは、一連の「機能」と「シナリオ」で構成されます。機能とは、アプリケーションの機能または一部を説明する高レベルの概要です。シナリオは、アプリケーションの望ましい動作を説明する機能の特定のインスタンスです。

Behat は、Gherkin 言語を使用して機能とシナリオを定義します。 Gherkin は、アプリケーションの機能と動作を非常にわかりやすい方法で記述することができる自然言語ベースの言語です。以下は簡単な例です:

Feature: 登录系统
    为了方便使用系统,我需要能够登录系统

Scenario: 登录系统
    Given 我进入登录页面
    When 我输入正确的用户名和密码
    Then 我应该登录成功
ログイン後にコピー
ログイン後にコピー

この例では、「ログイン システム」機能を定義し、この機能のシナリオを作成します。シナリオは、特定のコンテキストで文字列のライフサイクルで実行される一連のステップを記述します。ステップは、発生する動作、動作そのもの、および望ましい結果または反応の前提条件を示すために、Given、When、Then キーワードで開始する必要があります。

  1. Behat を使用した PHP アプリケーションのテスト

PHP アプリケーションをテストする準備ができたら、Behat を使用してテストを開始します。この場合、次の手順を実行する必要があります:

  • Behat のインストール

Behat は Composer を通じてインストールできるため、ターミナルで次のコマンドを実行する必要があります。 :

composer require --dev behat/behat
ログイン後にコピー
  • テスト ケースの作成

「features」フォルダーに「login.feature」などの新しい機能ファイルを作成できます。このファイルでは、機能とシナリオを定義し、Given、When、Then ステートメントを使用してステップを記述する必要があります。簡単な例を次に示します。

Feature: 登录系统
    为了方便使用系统,我需要能够登录系统

Scenario: 登录系统
    Given 我进入登录页面
    When 我输入正确的用户名和密码
    Then 我应该登录成功
ログイン後にコピー
ログイン後にコピー
  • コンテキストとステップの記述

次に、Behat が各ステップを正しく実行できるようにコンテキストとステップを記述する必要があります。コンテキストは、テストの実行時に Behat がアクセスする必要があるすべてのリソースを定義する PHP クラスです。関数を追加してステップを定義します。

namespace AppBundleFeaturesContext;

use BehatBehatContextContext;

class LoginContext implements Context{

    /**
     * @Given 我进入登录页面
     */
    public function visitLoginPage(){
        // Visits the login page
    }

    /**
     * @When 我输入正确的用户名和密码
     */
    public function submitLoginForm(){
        // Submits the login form with correct credentials
    }

    /**
     * @Then 我应该登录成功
     */
    public function assertLoggedIn(){
        // Asserts that we are logged in
    }
}
ログイン後にコピー

上記のコードでは、プロパティ ファイルで定義された 3 つのステップを実装します。各ステップはパブリック関数であり、その名前はガーキン言語のステップ テキストと一致します。

  • Behat テストの実行

最後に、ターミナルで Behat を実行する必要があります。これを行うには、次のコマンドを使用します。

./vendor/bin/behat
ログイン後にコピー

上記のコマンドを実行すると、Behat はすべての機能ファイルを検索して実行します。すべての手順が正常に実行されると、成功したテスト レポートが得られます。

要約すると、Behat は、PHP アプリケーションの機能と動作をテストするために使用できる人気のある BDD テスト フレームワークです。 PHP プロジェクトでのテストに Behat を使用すると、テストがよりシンプルで読みやすく、保守しやすくなり、さまざまな PHP フレームワークに統合することも非常に簡単になります。 PHP アプリケーションで Behat を使用する場合は、テスト ケースを作成し、テストが適切に実行されることを確認するコンテキストと手順を実装する必要があります。

以上がPHP で BDD テストに Behat を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート