Rumah > pembangunan bahagian belakang > tutorial php > Bina Aplikasi Bebas Pepijat menggunakan Ujian Unit Laravel

Bina Aplikasi Bebas Pepijat menggunakan Ujian Unit Laravel

Linda Hamilton
Lepaskan: 2025-01-03 05:43:40
asal
421 orang telah melayarinya

Build Bug-Free Applications using Laravel Unit Testing

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
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

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
Salin selepas log masuk
Salin selepas log masuk

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);
    }
}
Salin selepas log masuk
Salin selepas log masuk

3. Jalankan Ujian

Jalankan ujian anda menggunakan:

php artisan test
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

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
Salin selepas log masuk
Salin selepas log masuk

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);
    }
}
Salin selepas log masuk
Salin selepas log masuk

2. Cipta Ujian

Jana fail ujian:

./vendor/bin/phpunit
Salin selepas log masuk

Edit fail ujian untuk menguji kaedah getFullName:

php artisan test
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

3. Laksanakan Ujian

Jalankan ujian:

public function getFullName(): string
{
    return $this->first_name .' '. $this->last_name;
}
Salin selepas log masuk

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
Salin selepas log masuk

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());
    }
}
Salin selepas log masuk

3. Jalankan Ujian Ciri

php artisan test
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

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!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan