Pengujian Laravel 9: Cara Menguji Aplikasi Laravel – Codewithaden

Phpunit adalah salah satu paket pengujian unit paling terkenal untuk PHP. Ini terutama dirancang untuk pengujian unit, yang berarti menguji kode Anda dalam komponen terkecil yang dimungkinkan, tetapi juga sangat fleksibel.

Pengujian Laravel

Laravel memiliki modul pengujian bawaan phpunit yang termasuk di luar kotak, dan a phpunit.xml File sudah diatur untuk aplikasi Anda. Itu phpunit.xml File sudah dikonfigurasi untuk kami Aplikasi Laravel; Secara default, Laravel mengirim dengan dua direktori dan dua file.

  1. Direktori Fitur
  2. Direktori unit
  3. CreateSapplication.php
  4. Testcase.php

Lingkungan phpunit

Saat kami menjalankan tes melalui Phpunit, Laravel akan secara otomatis mengatur lingkungan untuk diuji. Ini mengonfigurasi cache dan lingkungan sesi ke driver array. Jadi saat pengujian, tidak ada data sesi atau cache yang bertahan. Anda dapat melihatnya dalam kode di bawah ini. Pergi ke phpunit.xml mengajukan.


     
     
     
     
 

Langkah 1: Instal Proyek Pengujian Laravel

composer create-project laravel/laravel laraveltesting --prefer-dist 

Sekarang, konfigurasikan database di .env mengajukan.

Ketik perintah berikut.

php artisan migrate 

Ini akan membuat dua tabel dalam database.

Sekarang, untuk pengujian, kami akan membuat model dan file migrasi lain. Jadi ketik perintah berikut.

php artisan make:model Stock -m
 

Itu akan membuat file stok Tabel juga, dan kita perlu mendefinisikan skema untuk itu.

increments('id');
            $table->string('name');
            $table->integer('price');
            $table->timestamps();
        });
    } 

Selanjutnya, ketikkan perintah di bawah ini.

php artisan migrate 

Itu akan membuat stok meja.

Langkah 2: Pengecualian Penugasan Massal

Dalam model Stock.php file, tambahkan properti berikut.

protected $fillable = ['name','price']; 

Langkah 3: Buat file uji.

Untuk membuat file uji, ada perintah pengrajin untuk itu, jadi ketik di terminal,

php artisan make:test StockTest 

Ini akan membuat file uji fitur di dalamnya tes >> fitur >> stocktest mengajukan.

Sekarang, file akan terlihat seperti ini.

assertTrue(true);
    }
}
 

Langkah selanjutnya adalah menulis satu tes sederhana di TestExample () fungsi.

'Tesla']);
      $this->assertEquals('Tesla', $stock->name);
    }
} 

Saya telah memasukkan model kami Stock.php dalam Stocktest.php mengajukan dan membuat objek untuk memasukkan satu stok dalam array.

Ingat, secara default, kami menggunakan driver array. Jadi jika saya belum memasukkan model dengan benar atau belum menambahkan properti yang dapat diisi dalam model, tes ini akan gagal. Kalau tidak, itu akan lulus tes.

Langkah 4: Jalankan tes.

Harap ketik perintah berikut untuk menjalankan tes.

phpunit 

Catatan: Jika ini akan melempar kesalahan, silakan jalankan perintah berikut.

vendor/bin/phpunit 

atau

vendor\bin\phpunit 

Salah satu opsi ini akan menjalankan tes Anda.

Dari contoh di atas, kita dapat melihat output seperti ini.

Phpunit 6.3.0 oleh Sebastian Bergmann dan kontributor.
… 3/3 (100%)
Waktu: 845 MS, Memori: 10.00MB
OK (3 tes, 3 pernyataan)
Jadi, kami telah berhasil menjalankan tes. Jika Anda ingin gagal dalam tes, hanya untuk bersenang -senang, hapus baris berikut dari Stocktest.php mengajukan.
use App\Stock; 

Sekarang, lagi jalankan tes.

Phpunit 6.3.0 oleh Sebastian Bergmann dan kontributor.

.E. 3/3 (100%)

Waktu: 471 MS, Memori: 10.00MB

Ada 1 kesalahan:

1) tes \ fitur \ stocktest :: testexample

Kesalahan: kelas ‘tes \ fitur \ stok ‘tidak ditemukan

L: \ testinglaravel \ tes \ feature \ stocktest.php: 17

Kesalahan!

Tes: 3, Pernyataan: 2, Kesalahan: 1.

Tes akan gagal.

Akhirnya, Pengujian unit Laravel sudah selesai. Temukan info lebih lanjut di url ini: https://laravel.com/docs/9.x/testing

Ini hanya tes phpunit. Tes browser dan HTTP lainnya akan ada di artikel berikut, jadi tetaplah disini. Juga, kita akan berbicara tentang Laravel Dusk di masa depan.

Artikel ini berasal dari website Winpoin, dan kemudian diterjemahkan ke bahasa indonesia, baca artikel asli disini

Leave a Reply

Your email address will not be published. Required fields are marked *