


Perisian tengah Laravel: laksanakan ujian automatik dan semakan liputan kod
Laravel middleware: Laksanakan ujian automatik dan pemeriksaan liputan kod
Pengenalan:
Pengujian automatik ialah bahagian penting dalam proses pembangunan perisian. Ia boleh membantu kami menemui masalah dalam kod tepat pada masanya dan meningkatkan kualiti perisian. Dalam rangka kerja Laravel, kami boleh melaksanakan ujian automatik dan semakan liputan kod melalui perisian tengah. Artikel ini akan memperkenalkan cara menggunakan perisian tengah Laravel untuk ujian automatik dan semakan liputan kod serta menyediakan contoh kod yang berkaitan.
1. Apakah perisian tengah Laravel?
Middleware ialah konsep teras dalam rangka kerja Laravel yang boleh melaksanakan fungsi di mana-mana antara permintaan yang memasuki aplikasi dan respons yang dikembalikan kepada klien. Middleware ialah mekanisme yang menapis permintaan dan respons, mengubah suai atau memprosesnya sebelum permintaan sampai ke laluan atau selepas respons dikembalikan kepada klien. Pelbagai fungsi boleh dilaksanakan menggunakan perisian tengah, seperti pengesahan penghalaan, mencegah pemalsuan permintaan merentas tapak, dsb. Dalam ujian automatik dan semakan liputan kod, kami boleh menggunakan perisian tengah untuk mengesan liputan kod dalam permintaan dan respons.
2. Ujian automatik
Menggunakan perisian tengah Laravel untuk ujian automatik boleh membantu kami mencari masalah dalam kod tepat pada masanya dan memastikan ketepatan kod. Di bawah ini kami akan menggunakan contoh untuk memperkenalkan cara menggunakan perisian tengah Laravel untuk ujian automatik.
- Buat middleware
Pertama, kita perlu mencipta middleware untuk ujian automatik. Gunakan arahan Artisan Laravel untuk mencipta middleware:
php artisan make:middleware CodeCoverageMiddleware
Arahan ini akan menjana fail kelas middleware bernama CodeCoverageMiddleware
dalam direktori 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
Edit
CodeCoverageMiddleware
middleware CodeCoverageMiddleware
yang dihasilkan, kita boleh mengatasi kaedah handle
Untuk melaksanakan ujian automatik:
rrreee
ujian
.
- Daftar middleware
Selepas melengkapkan penyuntingan middleware, kita perlu mendaftarkannya ke $middlewareapp/Http/Kernel.php
/code>Dalam tatasusunan:
ujian
, setiap permintaan akan melalui perisian tengah ini. 🎜🎜3. Semakan liputan kod🎜Menggunakan perisian tengah Laravel untuk semakan liputan kod boleh membantu kami memahami kod yang dilindungi oleh ujian dan kod yang tidak dilindungi. Ini membantu kami mengenal pasti kawasan kod yang memerlukan lebih banyak ujian dan meningkatkan kebolehpercayaan kod. Di bawah ini kami akan menggunakan contoh untuk memperkenalkan cara menggunakan perisian tengah Laravel untuk semakan liputan kod. 🎜🎜🎜Pasang alat semakan liputan🎜Mula-mula, kita perlu memasang pakej phpunit/php-code-coverage
untuk melaksanakan semakan liputan kod: 🎜🎜rrreee- 🎜EditCodeCoverageMiddleware middleware 🎜Seterusnya, kita perlu melaksanakan semakan liputan kod dalam kaedah
handle
bagi middleware CodeCoverageMiddleware
: 🎜🎜rrreee🎜Dalam kod di atas , kami melaksanakan semakan liputan kod dengan menggunakan kelas yang disediakan oleh pakej phpunit/php-code-coverage
. Apabila setiap permintaan datang, kami memulakan semakan liputan kod melalui kaedah start
dan menamatkan semakan melalui kaedah stop
apabila aplikasi tamat. Kami kemudian menggunakan CoverageReporter
untuk menjana laporan liputan kod. 🎜- 🎜Lihat laporan liputan kod🎜Selepas melengkapkan semakan liputan kod, kami boleh berbuat demikian dengan membuka penyemak imbas dan melawati
http://your-app-url/storage/coverage/ index. html
untuk melihat laporan liputan kod. 🎜🎜🎜Kesimpulan: 🎜Laravel middleware menyediakan kami cara yang sangat mudah untuk melaksanakan ujian automatik dan semakan liputan kod. Dengan mencipta kelas middleware dan mendaftarkannya dalam aplikasi, kami boleh menjalankan semakan liputan kod secara automatik dalam persekitaran ujian dan melihat laporan berkaitan. Ini membantu kami mencari masalah dalam kod dengan cepat dan memastikan kualiti kod. 🎜🎜Malah, perisian tengah Laravel bukan sahaja boleh digunakan untuk ujian automatik dan semakan liputan kod, tetapi juga boleh digunakan untuk melaksanakan banyak fungsi lain, seperti pengelogan, penapisan permintaan, dll. Adalah sangat penting bagi pembangun untuk mahir dalam penggunaan perisian tengah. 🎜🎜Saya harap artikel ini dapat membantu pembaca lebih memahami perisian tengah Laravel dan cara menggunakannya untuk melaksanakan ujian automatik dan semakan liputan kod. Setiap orang boleh menggunakan perisian tengah secara fleksibel mengikut keperluan dan keadaan sebenar mereka sendiri untuk meningkatkan kecekapan pembangunan perisian dan kualiti kod. 🎜Atas ialah kandungan terperinci Perisian tengah Laravel: laksanakan ujian automatik dan semakan liputan kod. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas





Kaedah untuk mendapatkan kod kembali apabila menghantar e -mel Laravel gagal. Apabila menggunakan Laravel untuk membangunkan aplikasi, anda sering menghadapi situasi di mana anda perlu menghantar kod pengesahan. Dan pada hakikatnya ...

Tugas Jadual Laravel menjalankan penyelesaian masalah yang tidak responsif semasa menggunakan penjadualan tugas jadual Laravel, banyak pemaju akan menghadapi masalah ini: Jadual: Jalankan ...

Kaedah mengendalikan kegagalan e -mel Laravel untuk menghantar kod pengesahan adalah menggunakan Laravel ...

Cara melaksanakan fungsi jadual klik tersuai untuk menambah data dalam dcatadmin (laravel-admin) semasa menggunakan dcat ...

Laravel - Dump Server - Laravel dump server datang dengan versi Laravel 5.7. Versi sebelumnya tidak termasuk pelayan dump. Pelayan dump akan menjadi kebergantungan pembangunan dalam fail komposer laravel/laravel.

Kesan perkongsian sambungan Redis dalam rangka kerja Laravel dan pilih kaedah apabila menggunakan Rangka Kerja Laravel dan Redis, pemaju mungkin menghadapi masalah: melalui konfigurasi ...

Sambungan pangkalan data penyewa tersuai dalam pakej lanjutan multi-penyewa Larave Stancl/penyewaan ketika membina aplikasi multi-penyewa menggunakan pakej lanjutan multi-penyewa Larave Stancl/penyewaan, ...

Laravel - URL Tindakan - Laravel 5.7 memperkenalkan ciri baharu yang dipanggil "URL tindakan boleh panggil". Ciri ini serupa dengan yang terdapat dalam Laravel 5.6 yang menerima kaedah rentetan dalam tindakan. Tujuan utama sintaks baharu memperkenalkan Laravel 5.7 adalah untuk mengarahkanl
