Memahami Testing

Laravel menyediakan fitur Testing yang mumpuni untuk membantu kamu membangun aplikasi yang kokoh dan teruji. Fitur ini memungkinkan kamu menulis unit test untuk kode kamu, memastikan setiap bagian kode berfungsi dengan benar.


Pengenalan Unit Testing di Laravel

Unit testing adalah proses pengujian bagian kecil kode secara terisolasi. Hal ini membantu kamu menemukan bug dan memastikan kode kamu berperilaku seperti yang diharapkan. Laravel menyediakan berbagai tools dan framework untuk memudahkan proses unit testing.


Menulis Unit Test untuk Kode kamu

Laravel menggunakan framework PHPUnit untuk unit testing. Berikut langkah-langkah dasar menulis unit test:

  1. Buat kelas test: Buat kelas PHP baru dengan nama yang diakhiri dengan "Test". Di dalam kelas ini, kamu akan mendefinisikan test case untuk kode kamu.
  2. Tulis test case: Gunakan method test untuk mendefinisikan test case. Di dalam method ini, kamu akan menulis kode untuk menguji kode yang ingin kamu tes.
  3. Assert hasil: Gunakan method assert dari PHPUnit untuk memastikan hasil test case sesuai dengan yang diharapkan.

Berikut contoh sederhana unit test untuk fungsi penjumlahan:


class CalculatorTest extends PHPUnit\Framework\TestCase
{
    public function testSum()
    {
        $result = Calculator::sum(1, 2);
        $this->assertEquals(3, $result);
    }
}

Menjalankan Unit Test

kamu dapat menjalankan unit test menggunakan command line:

phpunit

Laravel menyediakan Artisan command untuk menjalankan unit test dengan lebih mudah:

php artisan test

Command ini akan menjalankan semua test case di direktori tests aplikasi kamu.

Contoh:

Misalkan kamu memiliki aplikasi Laravel dengan unit test untuk fungsi penjumlahan seperti di atas. kamu dapat menjalankannya dengan command:

php artisan test

Command ini akan menjalankan test case testSum dan menampilkan hasilnya. Jika test case berhasil, kamu akan melihat output seperti berikut:


PHPUnit 8.5.3 by Sebastian Bergmann and contributors.

        .
    100%

Time: 0.001 seconds, Memory: 2.84 MB

OK (1 test)

Jika test case gagal, kamu akan melihat pesan error yang menjelaskan mengapa test case gagal.

Tips:
  • Mulai dari yang kecil: Mulailah dengan menulis unit test untuk fungsi sederhana. Seiring kamu semakin terbiasa, kamu dapat menulis test case yang lebih kompleks.
  • Tutupi semua skenario: Pastikan kamu menulis test case untuk berbagai skenario yang mungkin terjadi.
  • Jalankan test case secara rutin: Jalankan test case kamu secara rutin, terutama setelah kamu mengubah kode.
  • Gunakan tools bantu: Laravel menyediakan berbagai tools bantu untuk memudahkan proses unit testing, seperti Pest dan Laravel Dusk.

Kesimpulan

Fitur Laravel Testing sangat membantu kamu membangun aplikasi yang kokoh dan teruji. Dengan mempelajari unit testing dan menerapkannya dalam proses pengembangan kamu, kamu dapat meningkatkan kualitas kode dan mengurangi risiko bug.