


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!

PhpSSsionsTrackUserDataacrossmultiplePagerequestSuseUniquidStoredinacookie.here'ShoWtomanAgeThemEffectely: 1) startAnSessionWithSession_Start () danStoRedatain $ _Session.2)

Dalam PHP, iterating melalui data sesi dapat dicapai melalui langkah -langkah berikut: 1. Mulakan sesi menggunakan session_start (). 2. ITERATE melalui gelung foreach melalui semua pasangan nilai utama dalam array $ _Session. 3. Apabila memproses struktur data kompleks, gunakan fungsi is_array () atau is_object () dan gunakan print_r () untuk mengeluarkan maklumat terperinci. 4. Apabila mengoptimumkan traversal, paging boleh digunakan untuk mengelakkan memproses sejumlah besar data pada satu masa. Ini akan membantu anda mengurus dan menggunakan data sesi PHP dengan lebih cekap dalam projek sebenar anda.

Sesi ini menyedari pengesahan pengguna melalui mekanisme pengurusan negara pelayan. 1) Penciptaan sesi dan penjanaan ID unik, 2) IDS diluluskan melalui kuki, 3) kedai pelayan dan mengakses data sesi melalui ID, 4) Pengesahan pengguna dan pengurusan status direalisasikan, meningkatkan keselamatan aplikasi dan pengalaman pengguna.

TOSTOREAUSER'SNAMEINAPHPSESSION, startTheSessionWithSsion_Start (), thenassignthenameto $ _Session ['username']

Sebab -sebab kegagalan phpsession termasuk kesilapan konfigurasi, isu cookie, dan tamat tempoh sesi. 1. Ralat Konfigurasi: Semak dan tetapkan session.save_path yang betul. Masalah 2.Cookie: Pastikan kuki ditetapkan dengan betul. 3.Session Expires: Laraskan Nilai Sesi.GC_MAXLifetime untuk melanjutkan masa sesi.

Kaedah untuk masalah sesi debug dalam PHP termasuk: 1. Periksa sama ada sesi dimulakan dengan betul; 2. Sahkan penghantaran ID sesi; 3. Semak penyimpanan dan bacaan data sesi; 4. Semak konfigurasi pelayan. Dengan mengeluarkan ID dan data sesi, melihat kandungan fail sesi, dan lain-lain, anda boleh mendiagnosis dan menyelesaikan masalah yang berkaitan dengan sesi.

Pelbagai panggilan ke session_start () akan menghasilkan mesej amaran dan kemungkinan penggantian data. 1) PHP akan mengeluarkan amaran, menyebabkan sesi telah dimulakan. 2) Ia boleh menyebabkan penggantian data sesi yang tidak dijangka. 3) Gunakan session_status () untuk memeriksa status sesi untuk mengelakkan panggilan berulang.

Mengkonfigurasi kitaran hayat sesi dalam PHP boleh dicapai dengan menetapkan sesi.gc_maxlifetime dan session.cookie_lifetime. 1) session.gc_maxlifetime mengawal masa survival data sesi pelayan, 2) session.cookie_lifetime mengawal kitaran hayat kuki klien. Apabila ditetapkan ke 0, kuki tamat apabila penyemak imbas ditutup.


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

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft
