


Helo Artisan,
Pengujian adalah sebahagian daripada pembangunan perisian. Ia memastikan aplikasi anda berfungsi seperti yang diharapkan. Laravel mempunyai sokongan yang baik untuk ujian, dan ia direka dengan mengambil kira ujian. Ia menyediakan Perosak dan PHPUnit untuk ujian.
Setelah anda memasang mana-mana aplikasi laravel anda boleh melihat phpunit.xml sudah tersedia dalam aplikasi anda. Secara lalai, aplikasi mengandungi dua direktori berasingan dalam direktori ujian satu adalah untuk Ciri dan satu lagi adalah Unit. Unit ialah bahagian yang lebih kecil dan terpencil dalam aplikasi anda manakala Ciri digunakan untuk menguji sebahagian besar aplikasi anda.
Dalam catatan blog ini, kami akan meneroka cara menulis ujian menggunakan PHPUnit dan cara menyepadukan dengan aplikasi laravel anda.
Mengapa Ujian Unit Penting?
Sebelum masuk ke butiran, mari kita cepat memahami sebab ujian unit penting:
Kualiti Kod: Ujian menangkap pepijat pada awal permainan, dengan itu tidak mempertaruhkan mereka memasuki pengeluaran.
Keyakinan Pemfaktoran Semula: Ujian membolehkan anda memfaktorkan semula dengan yakin kerana anda tidak takut merosakkan fungsi.
Dokumentasi: Ujian bertindak sebagai dokumentasi hidup untuk kelakuan kod anda.Kerjasama: Mereka berfungsi sebagai jaring keselamatan untuk pasukan: mereka tidak membenarkan perubahan baharu mengganggu fungsi sedia ada.
Sebelum kami mula menulis kes ujian, pastikan anda telah memasang aplikasi Laravel.
Persekitaran pembangunan disediakan: Cipta fail .env.testing dalam direktori akar projek anda. Fail ini digunakan dan bukannya fail .env apabila anda menjalankan ujian PHPUnit atau melaksanakan perintah Artisan dengan pilihan --env=testing.
Sahkan Konfigurasi PHPUnit: Semak fail phpunit.xml dalam akar projek anda. Fail ini mengkonfigurasi _PHPUnit_ untuk aplikasi Laravel anda.
Jalankan Ujian Lalai: Laravel menyertakan beberapa contoh ujian. Anda boleh menjalankannya menggunakan:
php artisan test
Arahan ini melaksanakan semua ujian dalam direktori ujian.
Jadi mari kita mula menulis Ujian Unit Pertama Anda
Ciri: Untuk menguji sebahagian besar aplikasi anda, selalunya melibatkan permintaan HTTP.
Unit: Untuk menguji kelas dan kaedah individu.
Mari tulis ujian unit mudah:
1. Cipta Fail Ujian
Gunakan Artisan untuk menjana fail ujian:
php artisan make:test SumOfTwoNumberTest --unit
Ini akan membuat ujian/Unit/SumOfTwoNumberTest.php.
2. Tulis Kes Ujian
Buka fail ujian yang baru dibuat dan tambah logik ujian anda:
<?php namespace Tests\Unit; use PHPUnit\Framework\TestCase; class SumOfTwoNumberTest extends TestCase { /** * A basic unit test example. * * @return void */ public function test_addition() { $sum = 2 + 2; $this->assertEquals(4, $sum); } }
3. Jalankan Ujian
Jalankan ujian anda menggunakan:
php artisan test
Anda juga boleh menggunakan perintah Artisan ujian untuk menjalankan ujian anda. Perintah ini menyediakan laporan ujian verbose untuk memudahkan proses pembangunan dan penyahpepijatan.
php artisan make:test SumOfTwoNumberTest --unit
Anda sepatutnya melihat output yang menunjukkan sama ada ujian itu lulus atau gagal.
- Menguji Model Laravel
Mari kita buat ujian unit untuk kaedah model Laravel. Andaikan kami mempunyai model Pengguna dengan kaedah getFullName:
1. Kaedah Model
Tambahkan kaedah pada model Pengguna anda:
<?php namespace Tests\Unit; use PHPUnit\Framework\TestCase; class SumOfTwoNumberTest extends TestCase { /** * A basic unit test example. * * @return void */ public function test_addition() { $sum = 2 + 2; $this->assertEquals(4, $sum); } }
2. Cipta Ujian
Jana fail ujian:
./vendor/bin/phpunit
Edit fail ujian untuk menguji kaedah getFullName:
php artisan test
3. Laksanakan Ujian
Jalankan ujian:
public function getFullName(): string { return $this->first_name .' '. $this->last_name; }
Anda sepatutnya melihat mesej kejayaan jika kaedah berfungsi seperti yang diharapkan.
- Menulis Ujian Ciri
Ujian ciri dalam Laravel membolehkan anda menguji bahagian aplikasi anda yang lebih besar, seperti laluan, pengawal dan perisian tengah.
Mari kita tulis contoh ujian ciri untuk halaman log masuk.
1. Hasilkan Ujian Ciri
Gunakan Artisan untuk membuat ujian ciri baharu:
php artisan make:test UserTest --unit
Ini akan membuat ujian/Ciri/LoginTest.php.
2. Tulis Logik Ujian
Buka fail LoginTest.php dan tambah kod di bawah:
<?php namespace Tests\Unit; use App\Models\User; use PHPUnit\Framework\TestCase; class UserTest extends TestCase { public function test_get_full_name() { $user = new User(); $user->first_name = 'John'; $user->last_name = 'Doe'; $this->assertEquals('John Doe', $user->getFullName()); } }
3. Jalankan Ujian Ciri
php artisan test
Output akan menunjukkan sama ada halaman log masuk boleh diakses dan jika pengguna boleh log masuk dengan jayanya.
Beberapa amalan terbaik untuk menulis Ujian Unit dalam Laravel
Nama Ujian Deskriptif: Nama-nama ujian hendaklah sangat menggambarkan perkara yang sedang diuji.
Uji Satu Perkara pada Satu Masa: Setiap ujian hendaklah menguji hanya satu fungsi atau tingkah laku.
Gunakan Kilang dan Pembenih: Gunakan kilang model dan pembenih Laravel untuk mencipta data ujian.
Ujian Asing: Ujian unit tidak boleh bergantung pada perkhidmatan luaran seperti pangkalan data atau API. Gunakan olok-olok dan stub apabila perlu.
Anda boleh menyemak dokumentasi Laravel untuk mendapatkan butiran lanjut.
Kesimpulan:
Ujian unit dan ciri dalam Laravel ialah cara yang berkesan untuk mengekalkan kualiti kod dan memastikan gelagat aplikasi yang mantap. Dengan menulis dan menjalankan ujian PHPUnit adalah cara yang mudah dan cekap. Dengan menyepadukan ujian ke dalam proses pembangunan anda, anda akan mencipta aplikasi yang lebih dipercayai dan boleh diselenggara.
Selamat Membaca!!
Selamat Pengekodan!!
?? ?
Atas ialah kandungan terperinci Bina Aplikasi Bebas Pepijat menggunakan Ujian Unit Laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

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

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

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

TosecurelyhandleAuthenticationandauthorizationInphp, ikuti: 1.alwayshashpasswordswithpassword_hash () andverifyUsingPassword_verify (), usePePreparedStatementStopreventsqlInjection, andStoreUserDatain $ _SessionAsLogin.2.implescureRoleRoleRoleRoleRole

Tostaycurrentwithphpdevelopmentsandbestpractices, followeyNewsssourcesLikePhp.netandphpweekly, engageWithCommunitiesonforumsandconference, keeptoolingupdatedandgraduallyAdoptNewFeatures, dan readribcoursourcourceSource

Phpbecamepopularforwebdevelopmentduetoitseaseoflearning, seamlessintegrationwithhtml, widespreadhostingsupport, andalargeecosystemincludingframeworkslikelaravelandcmsplatformsLikeWordPress.itexcelsinhandessubmissions

TosetTheRightTimeZoneinPhp, USEDATE_DEFAULT_TIMEZONE_SET () functionAtthestArtAfyourscriptwithavalididentifiersuchas'america/new_york'.1.usedate_default_timeSet ()

Kaedah memasang PHP berbeza dari sistem operasi ke sistem operasi. Berikut adalah langkah -langkah tertentu: 1. Pengguna Windows boleh menggunakan XAMPP untuk memasang pakej atau mengkonfigurasi secara manualnya, muat turun XAMPP dan pasangnya, pilih komponen PHP atau tambahkan PHP ke pembolehubah persekitaran; 2. Pengguna MacOS boleh memasang PHP melalui homebrew, jalankan arahan yang sepadan untuk memasang dan mengkonfigurasi pelayan Apache; 3. Pengguna Linux (Ubuntu/Debian) boleh menggunakan Pengurus Pakej APT untuk mengemas kini sumber dan memasang PHP dan sambungan biasa, dan mengesahkan sama ada pemasangan berjaya dengan membuat fail ujian.

TOVALIDATEUSERIputInphp, UsEbuilt-InvalidationFunctionsLikeFilter_var () danFilter_Input (), applyRegularExpressionsforcustomformatssuchasususerorphonenumbers, checkdatatypesfornumericressplimeSpriceSprice, setLengthacheAngeAgeorpriceSprice, setLengthacheArpesenprice,

Untuk memusnahkan sesi sepenuhnya di PHP, anda mesti menghubungi session_start () terlebih dahulu untuk memulakan sesi, dan kemudian hubungi session_destroy () untuk memadam semua data sesi. 1. 2. Kemudian hubungi session_destroy () untuk membersihkan data sesi; 3. Pilihan tetapi disyorkan: Arahan $ _Session secara manual untuk membersihkan pembolehubah global; 4. Pada masa yang sama, padamkan cookies sesi untuk menghalang pengguna daripada mengekalkan keadaan sesi; 5. Akhirnya, perhatikan untuk mengalihkan pengguna selepas kemusnahan, dan elakkan menggunakan semula pembolehubah sesi dengan segera, jika tidak sesi perlu dimulakan semula. Melakukan ini akan memastikan bahawa pengguna sepenuhnya keluar dari sistem tanpa meninggalkan sebarang maklumat sisa.

ThPhpFunctionserialize () andUnserialize () diselaraskanToConvertComplexDataStructructDestoresIntoStorasandabackagain.1.Serialize () C overtsdatalikeCarraysorObjectSrayStringContainingTyPeanStructureStructureStructureStructure.2.2Serialize ()
