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.
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.
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!