ホームページ > バックエンド開発 > PHPチュートリアル > Laravelテストでの簡略化されたHTTP応答のモッキング

Laravelテストでの簡略化されたHTTP応答のモッキング

Emily Anne Brown
リリース: 2025-03-12 17:09:24
オリジナル
493 人が閲覧しました

Laravelテストでの簡略化されたHTTP応答のモッキング

Laravelは簡潔なHTTP Response Mock構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。

基本的な実装は、さまざまな応答タイプのショートカットを提供します。

 Illuminate \ support \ facades \ httpを使用します。

http :: fake([[
    'google.com' => 'hello world'、
    'github.com' => ['foo' => 'bar']、
    'forge.laravel.com' => 204、
]);
ログイン後にコピー

この構文は、包括的なテストシナリオでうまく機能します。

クラスApiintegrationTestはテストケースを拡張します
{
    パブリック関数test_service_communication()
    {
        http :: fake([[
            //文字列応答 'api.notifications.com/*' => 'メッセージ送信'、

            //配列応答(JSONに変換)
            'api.products.com/*' => [
                「製品」=> [
                    ['id' => 1、 'name' => 'ラップトップ']、
                    ['id' => 2、 'name' => 'mobile']
                ]
            ]、、

            //ステータスコード応答 'api.status.com/check' => 200、
            'api.deprecated.com/*' => 410、

            //関連するエンドポイントのさまざまな応答タイプ 'api.orders.com/active' => ['status' => 'processing']、
            'api.orders.com/error' => 400、
            'api.orders.com/message' => 'システムは利用できません'
        ]);

        //アサーションでテスト$ response = http :: get( 'api.notifications.com/send');
        $ this-> assertequals( 'mession sent'、$ response-> body());

        $ Products = http :: get( 'api.products.com/list');
        $ this-> assertcount(2、$ products ['products']);

        $ status = http :: get( 'api.status.com/check');
        $ this-> asserttrue($ status-> succeet());
    }
}
ログイン後にコピー

この簡潔な構文は、テストを読むときに認知的負担を軽減することにより、テストの保守性を大幅に向上させ、HTTPモックの詳細ではなくビジネスロジックに集中できるようにします。

以上がLaravelテストでの簡略化されたHTTP応答のモッキングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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