現在の位置: ホーム> 最新記事一覧> PHP 7 の新機能の詳細な説明: Expectations 構文を使用してアサーションを簡単に作成

PHP 7 の新機能の詳細な説明: Expectations 構文を使用してアサーションを簡単に作成

M66 2025-10-27

導入

PHP 7 のリリースにより、開発者は多くの新機能と改良点を目にすることができます。その中でも、Expectations 構文は最も人気のある機能の 1 つです。これにより、アサーションの記述が大幅に簡素化され、コードがより読みやすく、保守しやすくなります。この記事では、Expectations 構文の基本的な使用法を紹介し、例を通じてその利点を示します。

期待構文とは何ですか?

PHP では、コード内の条件を検証するためにアサーションが使用されます。従来のアサーションは通常、条件式をパラメータとして受け取り、条件が満たされない場合にエラーをスローするassert()関数を使用します。この書き方は長くなり、直感的ではありません。

Expectations 構文では、expect() 関数によるアサーションの記述が簡素化されます。 Expect() を使用すると、値または式が期待どおりであるかどうかを検証できます。アサーションが失敗すると、expect() はエラー情報とアサーション失敗の場所を含む例外をスローします。

Expectations 構文の使用方法

以下では、特定の例を使用して、Expectations 構文を使用してアサーションを改善する方法を示します。

例: 単純なアサーション

2 つの数値を加算して結果を返す関数 add() があるとします。 Expectations 構文を使用すると、関数の戻り値が期待どおりであることを検証できます。

 function add($a, $b) {
    return $a + $b;
}

// 使用Expectations構文アサーションadd()関数の戻り値が3
expect(add(1, 2))->toBe(3);

この例では、expect() 関数は、add(1, 2) の戻り値が 3 に等しいかどうかをアサートします。アサーションが失敗した場合は、詳細な AssertionException がスローされます。

例: 配列のアサート

Expectations 構文は配列アサーションでも機能します。次の例は、toBe() と toContain() を使用して配列の内容を確認する方法を示しています。

 $data = ['apple', 'banana', 'orange'];

// 配列をアサートする$data長さは3
expect($data)->toHaveLength(3);

// 配列をアサートする$data含まれています'banana'
expect($data)->toContain('banana');

配列の長さと含まれる要素は、toHaveLength() 関数と toContain() 関数を通じて簡単に検証できます。

例: カスタム アサーション関数

組み込みのアサーション関数に加えて、プロジェクト固有のニーズに合わせてアサーション関数をカスタマイズすることもできます。

 function isEven($num) {
    return $num % 2 == 0;
}

// 数値をアサートする6偶数です
expect(6)->toBeTrue(isEven);

この例では、数値が偶数であるかどうかを判断する isEven() 関数を定義し、次に toBeTrue() を使用して数値 6 が偶数であるかどうかをアサートします。

結論は

PHP 7 の Expectations 構文は、より簡潔で直感的なアサート方法を提供します。開発者は、expect() 関数を使用して、可読性が高く、保守が容易なコードを作成できます。上記の例は、Expectations 構文をすばやく理解して適用するのに役立ち、PHP テスト コードを最適化するための強力なツールです。