ホームページ  >  記事  >  バックエンド開発  >  PHP 関数パラメータ型の単体テスト

PHP 関数パラメータ型の単体テスト

PHPz
PHPzオリジナル
2024-04-20 09:06:02525ブラウズ

PHPUnit および @dataProvider アノテーションを使用すると、PHP 関数のパラメーターの型を単体テストできます。 テスト クラスを作成します。 @dataProvider を使用して、さまざまな種類のデータを提供します。テスト メソッドでは、assertType() を使用してパラメーターの型をアサートします。

PHP 函数参数类型的单元测试

#PHP 関数パラメータ型の単体テスト

単体テストは、関数またはメソッドが期待どおりに動作することを検証するプロセスです。 PHP では、単体テストに PHPUnit ライブラリを使用できます。

PHPUnit 単体テスト関数のパラメーター タイプの使用

    テストする関数またはメソッドのテスト クラスを作成します:
  1. class MyFunctionTest extends \PHPUnit\Framework\TestCase
    {
        public function testTypeHint()
        {
            // ...
        }
    }
  1. @dataProvider アノテーションを使用して、タイプヒント付きのテスト データを提供します。
  2. /**
     * @dataProvider typeHintProvider
     */
    public function testTypeHint()
    {
        // ...
    }
    
    public function typeHintProvider()
    {
        return [
            ['int', 1],
            ['string', 'foo'],
            ['array', []],
        ];
    }
    テスト メソッドで、
  1. $this-> を使用します。 assertType( ) パラメータの型をアサートします:
  2. public function testTypeHint()
    {
        $this->assertType($hint, $arg);
    }

実用的なケース

次の関数を考えてみましょう:

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

対応する単体テスト:

class SumTest extends \PHPUnit\Framework\TestCase
{
    /**
     * @dataProvider typeHintProvider
     */
    public function testTypeHint($hint, $arg)
    {
        $this->assertType($hint, $arg);
    }

    public function typeHintProvider()
    {
        return [
            ['int', 1],
            ['int', '1'], // 失败,'1' 不是 int 类型
            ['string', 'foo'],
            ['array', []],
        ];
    }
}

この単体テストを実行すると、関数

sum のパラメーターの型が期待どおりにチェックされていることを確認できます。

以上がPHP 関数パラメータ型の単体テストの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。