Laravelミドルウェア: 自動テストとコードカバレッジチェックを実装します。
Laravel ミドルウェア: 自動テストとコード カバレッジ検査の実装
はじめに:
自動テストはソフトウェア開発プロセスの重要な部分であり、コード内の問題をタイムリーに発見し、ソフトウェアの品質を向上させます。 Laravel フレームワークでは、ミドルウェアを通じて自動テストとコード カバレッジ チェックを実装できます。この記事では、Laravel ミドルウェアを使用して自動テストとコード カバレッジ チェックを行う方法を紹介し、関連するコード例を示します。
1.Laravel ミドルウェアとは何ですか?
ミドルウェアは、アプリケーションに入るリクエストとクライアントに返されるレスポンスの間の任意の場所で機能を実行できる、Laravel フレームワークの中核となる概念です。ミドルウェアは、リクエストとレスポンスをフィルタリングし、リクエストがルートに到達する前、またはレスポンスがクライアントに返された後にそれらを変更または処理するメカニズムです。ミドルウェアを利用することで、ルーティング認証やクロスサイトリクエストフォージェリの防止など、さまざまな機能を実装できます。自動テストとコード カバレッジ チェックでは、ミドルウェアを使用してリクエストと応答内のコード カバレッジを検出できます。
2. 自動テスト
自動テストに Laravel ミドルウェアを使用すると、コード内の問題を適時に発見し、コードの正確性を保証できます。以下では、例を使用して、Laravel ミドルウェアを使用して自動テストを行う方法を紹介します。
- ミドルウェアの作成
まず、自動テスト用のミドルウェアを作成する必要があります。 Laravel の Artisan コマンドを使用してミドルウェアを作成します。
php artisan make:middleware CodeCoverageMiddleware
このコマンドは、app/Http/Middleware
ディレクトリ ファイル タイプに CodeCoverageMiddleware
という名前のミドルウェアを生成します。
- Edit
CodeCoverageMiddleware
Middleware
生成されたCodeCoverageMiddleware
クラス ファイルで、handle
メソッドをオーバーライドして自動テストを実現できます。 :
namespace AppHttpMiddleware; use IlluminateSupportFacadesApp; use IlluminateHttpRequest; class CodeCoverageMiddleware { public function handle(Request $request, Closure $next) { if (App::environment('testing')) { // 运行代码覆盖率检查 } return $next($request); } }
上記のコードでは、アプリケーションが testing
環境にあるかどうかを判断して、コード カバレッジ チェックを実行するかどうかを決定します。
- ミドルウェアの登録
ミドルウェアの編集が完了したら、app/Http/Kernel.php
ファイルの$middleware# にミドルウェアを登録する必要があります。 ##配列内:
protected $middleware = [ // ... AppHttpMiddlewareCodeCoverageMiddleware::class, ];
testing 環境にある場合、すべてのリクエストはこのミドルウェアを通過します。
コード カバレッジ チェックに Laravel ミドルウェアを使用すると、どのコードがテストでカバーされ、どのコードがテストでカバーされないかを理解するのに役立ちます。これは、より多くのテストが必要なコードの領域を特定し、コードの信頼性を向上させるのに役立ちます。以下では、コードカバレッジチェックにLaravelミドルウェアを使用する方法を例を使用して紹介します。
- カバレッジ チェック ツールのインストール
- まず、コード カバレッジ チェックを実装するために、
phpunit/php-code-coverageパッケージをインストールする必要があります:
composer require --dev phpunit/php-code-coverage
- Edit
- CodeCoverageMiddleware
Middleware
次に、
CodeCoverageMiddlewaremiddleware の
handleメソッドにコード カバレッジ チェックを実装する必要があります。
上記のコードでは、phpunit/php-code-coveragenamespace AppHttpMiddleware; use IlluminateSupportFacadesApp; use IlluminateHttpRequest; use SebastianBergmannCodeCoverageFilter; use SebastianBergmannCodeCoverageCodeCoverage; use SebastianBergmannCodeCoverageReportHTMLFacade as CoverageReporter; class CodeCoverageMiddleware { public function handle(Request $request, Closure $next) { if (App::environment('testing')) { $filter = new Filter(); $filter->addFileToWhitelist(base_path()); $coverage = new CodeCoverage(null, $filter); $coverage->start('laravel'); register_shutdown_function(function () use ($coverage) { $coverage->stop(); CoverageReporter::factory([ 'target' => storage_path('coverage'), ])->process($coverage); }); } return $next($request); } }
ログイン後にコピーパッケージで提供されるクラスを使用してコード カバレッジ チェックを実装します。各リクエストが届くと、
コード カバレッジ レポートの表示start
メソッドを使用してコード カバレッジ チェックを開始し、アプリケーションの最後でstop
メソッドを使用してチェックを終了します。次に、CoverageReporter
を使用してコード カバレッジ レポートを生成します。- コード カバレッジ チェックが完了したら、ブラウザを開いて
- http://your-app-url/storage/coverage/index .html にアクセスします。
コード カバレッジ レポートを表示します。 結論:
実際、Laravel ミドルウェアは自動テストやコード カバレッジ チェックに使用できるだけでなく、ロギング、リクエスト フィルタリングなど、他の多くの機能の実装にも使用できます。開発者がミドルウェアの使用に習熟することは非常に重要です。この記事が、読者が Laravel ミドルウェアと、それを使用して自動テストとコード カバレッジ チェックを実装する方法についてより深く理解するのに役立つことを願っています。誰もが自分のニーズや実情に応じてミドルウェアを柔軟に利用することができ、ソフトウェア開発の効率とコードの品質を向上させることができます。
以上がLaravelミドルウェア: 自動テストとコードカバレッジチェックを実装します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。
- http://your-app-url/storage/coverage/index .html にアクセスします。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Laravelの電子メールの送信が失敗したときに戻りコードを取得する方法。 Laravelを使用してアプリケーションを開発する場合、検証コードを送信する必要がある状況に遭遇することがよくあります。そして実際には...

LaravelスケジュールタスクRAN RANSPONSIVEトラブルシューティングRALAVELのスケジュールタスクスケジューリングを使用すると、多くの開発者がこの問題に遭遇します。スケジュール:実行...

Laravelの電子メールの検証コードの送信の障害を処理する方法は、Laravelを使用することです...

DCATを使用するときにDCATADMIN(Laravel-Admin)にデータを追加するためにカスタムクリックのテーブル関数を実装する方法...

Laravel - ダンプサーバー - Laravel ダンプサーバーには、Laravel 5.7 のバージョンが付属しています。以前のバージョンにはダンプ サーバーが含まれていません。ダンプサーバーはlaravel/laravelコンポーザーファイルの開発依存関係になります。

Laravel FrameworkでRedis接続の共有の影響とLaravelフレームワークとRedisを使用する際のメソッドを選択すると、開発者は問題に遭遇する可能性があります。

Laravel Multi-Tenant拡張機能パッケージStancl/Tenancyのカスタムテナントデータベース接続Laravel Multi-Tenant ExtensionパッケージStancl/Tenancyを使用したマルチテナントアプリケーションを構築する際の...

Laravel - アクション URL - Laravel 5.7 では、「呼び出し可能なアクション URL」と呼ばれる新機能が導入されています。この機能は、アクションメソッドで文字列を受け入れるLaravel 5.6の機能に似ています。 Laravel 5.7 で導入された新しい構文の主な目的は、
