


Middleware Laravel : implémenter des tests automatisés et une vérification de la couverture du code
Middleware Laravel : mettre en œuvre des tests automatisés et une inspection de la couverture du code
Introduction :
Les tests automatisés sont une partie essentielle du processus de développement logiciel. Ils peuvent nous aider à découvrir les problèmes dans le code en temps opportun et à améliorer la qualité du logiciel. Dans le framework Laravel, nous pouvons implémenter des tests automatisés et des vérifications de couverture de code via un middleware. Cet article explique comment utiliser le middleware Laravel pour les tests automatisés et la vérification de la couverture du code, et fournit des exemples de code pertinents.
1. Qu'est-ce que le middleware Laravel ?
Le middleware est un concept central du framework Laravel qui peut exécuter des fonctions n'importe où entre la requête entrant dans l'application et la réponse renvoyée au client. Le middleware est un mécanisme qui filtre les requêtes et les réponses, les modifie ou les traite avant que la requête n'atteigne la route ou après que la réponse soit renvoyée au client. Diverses fonctions peuvent être implémentées à l'aide d'un middleware, telles que l'authentification de routage, la prévention de la falsification de requêtes intersites, etc. Lors des tests automatisés et de la vérification de la couverture du code, nous pouvons utiliser un middleware pour détecter la couverture du code dans les requêtes et les réponses.
2. Tests automatisés
L'utilisation du middleware Laravel pour les tests automatisés peut nous aider à détecter les problèmes dans le code à temps et à garantir l'exactitude du code. Ci-dessous, nous utiliserons un exemple pour présenter comment utiliser le middleware Laravel pour les tests automatisés.
- Créer un middleware
Tout d'abord, nous devons créer un middleware pour les tests automatisés. Utilisez la commande Artisan de Laravel pour créer un middleware :
php artisan make:middleware CodeCoverageMiddleware
Cette commande générera un fichier de classe middleware nommé CodeCoverageMiddleware
dans le répertoire app/Http/Middleware
. app/Http/Middleware
目录下生成一个名为CodeCoverageMiddleware
的中间件类文件。
- 编辑
CodeCoverageMiddleware
中间件
在生成的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
- 编辑
CodeCoverageMiddleware
中间件
接下来,我们需要在CodeCoverageMiddleware
中间件的handle
方法中实现代码覆盖率检查:
namespace 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); } }
在上述代码中,我们通过使用phpunit/php-code-coverage
包提供的类来实现代码覆盖率检查。在每个请求到来时,我们通过start
方法开始代码覆盖率检查,并在应用程序结束时通过stop
方法结束检查。然后,我们使用CoverageReporter
来生成代码覆盖率报告。
- 查看代码覆盖率报告
完成代码覆盖率检查后,我们可以通过打开浏览器并访问http://your-app-url/storage/coverage/index.html
Modifier le middleware
CodeCoverageMiddleware
CodeCoverageMiddleware
généré, nous pouvons remplacer la méthode handle
Pour implémenter tests automatisés :
rrreee
testing
.
- Enregistrer le middleware
Après avoir terminé l'édition du middleware, nous devons l'enregistrer dans $middlewareapp/Http/Kernel.php
/code>Dans le tableau :
test
, chaque requête passera par ce middleware. 🎜🎜3. Vérification de la couverture du code🎜L'utilisation du middleware Laravel pour la vérification de la couverture du code peut nous aider à comprendre quels codes sont couverts par les tests et quels codes ne le sont pas. Cela nous aide à identifier les zones du code qui nécessitent davantage de tests et à améliorer la fiabilité du code. Ci-dessous, nous utiliserons un exemple pour présenter comment utiliser le middleware Laravel pour vérifier la couverture de code. 🎜🎜🎜Installer l'outil de vérification de la couverture🎜Tout d'abord, nous devons installer le package phpunit/php-code-coverage
pour implémenter la vérification de la couverture du code : 🎜🎜rrreee- 🎜EditCodeCoverageMiddleware middleware 🎜Ensuite, nous devons implémenter la vérification de la couverture de code dans la méthode
handle
du middleware CodeCoverageMiddleware
: 🎜🎜rrreee🎜Dans le code ci-dessus , nous implémentons la vérification de la couverture du code en utilisant les classes fournies par le package phpunit/php-code-coverage
. Lorsque chaque requête arrive, nous démarrons la vérification de la couverture du code via la méthode start
, et terminons la vérification via la méthode stop
à la fin de l'application. Nous utilisons ensuite CoverageReporter
pour générer des rapports de couverture de code. 🎜- 🎜Voir le rapport de couverture du code🎜Après avoir terminé la vérification de la couverture du code, nous pouvons le faire en ouvrant le navigateur et en visitant
http://your-app-url/storage/coverage/ index.html
pour afficher le rapport de couverture du code. 🎜🎜🎜Conclusion : 🎜Le middleware Laravel nous offre un moyen très pratique de mettre en œuvre des tests automatisés et une vérification de la couverture de code. En créant des classes middleware et en les enregistrant dans l'application, nous pouvons exécuter automatiquement des vérifications de couverture de code dans l'environnement de test et afficher les rapports associés. Cela nous aide à trouver rapidement les problèmes dans le code et à garantir la qualité du code. 🎜🎜En fait, le middleware Laravel peut non seulement être utilisé pour des tests automatisés et la vérification de la couverture de code, mais peut également être utilisé pour implémenter de nombreuses autres fonctions, telles que la journalisation, le filtrage des requêtes, etc. Il est très important que les développeurs maîtrisent l’utilisation du middleware. 🎜🎜J'espère que cet article pourra aider les lecteurs à mieux comprendre le middleware Laravel et comment l'utiliser pour mettre en œuvre des tests automatisés et une vérification de la couverture de code. Chacun peut utiliser le middleware de manière flexible en fonction de ses propres besoins et des conditions réelles pour améliorer l'efficacité du développement logiciel et la qualité du code. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds





Méthode pour obtenir le code de retour lorsque l'envoi par e-mail de Laravel échoue. Lorsque vous utilisez Laravel pour développer des applications, vous rencontrez souvent des situations où vous devez envoyer des codes de vérification. Et en réalité ...

Laravel Schedule Tâche d'exécution de dépannage non réactif Lorsque vous utilisez la planification des tâches de calendrier de Laravel, de nombreux développeurs rencontreront ce problème: Schedule: Exécuter ...

La méthode de traitement de l'échec de l'e-mail de Laravel à envoyer le code de vérification est d'utiliser Laravel ...

Comment implémenter la fonction du tableau de Cliquez sur personnalisé pour ajouter des données dans DCATADMIN (Laravel-Admin) lors de l'utilisation de DCAT ...

Laravel - Dump Server - Le serveur de dump Laravel est livré avec la version de Laravel 5.7. Les versions précédentes n'incluent aucun serveur de dump. Le serveur de vidage sera une dépendance de développement dans le fichier laravel/laravel composer.

L'impact du partage des connexions redis dans Laravel Framework et sélectionnez Méthodes Lors de l'utilisation de Laravel Framework et Redis, les développeurs peuvent rencontrer un problème: grâce à la configuration ...

Connexion de la base de données des locataires personnalisés dans le package d'extension multi-locataire Laravel Stancl / location Lors de la construction d'applications multi-locataires à l'aide du package d'extension multi-locataire Laravel Stancl / location, ...

Laravel - URL d'action - Laravel 5.7 introduit une nouvelle fonctionnalité appelée « URL d'action appelable ». Cette fonctionnalité est similaire à celle de Laravel 5.6 qui accepte la méthode string in action. L'objectif principal de la nouvelle syntaxe introduite par Laravel 5.7 est de diriger
