Tutorial Belajar Laravel Bagi pemula Bagian 4 (Test driven development)

Setelah kita tahu cara kerja laravel pada tutorial belajar laravel bagi pemula bagian 3, Sekarang kita akan belajar Membuat Test dan Cara Menjalankan Test, Testing atau yang lebih terkenal dengan nama TDD (Test driven development)  adalah proses yang digunakan dalam pengembangan aplikasi dimana kita membutuhkan membuat test-nya untuk menguji kode yang kita tulis agar kita dapat memperbaiki error-error yang terjadi.

Daftar Isi :

  • Testing
  • Menjalankan Test

Testing

Laravel menggunakan PHPUnit untuk implementasi unit test-nya, secara garis besar di laravel ada 2 jenis test yaitu

  1. Unit test
  2. Feature Test atau ada yang menyebut dengan Integration Test

1. Unit test

Untuk Unit Test, kita bisa membuat class unit test seperti menggunakan PHP Unit biasanya, yaitu dengan membuat class turunan dari PHPUnit\Framework\TestCase, jika kita perlu membuat test tanpa menggunakan Framework Laravel maka kita cukup membuat Unit Test saja.

Cara membuat Unit Test:

Jika ingin membuat Unit Test, kita bisa menggunakan perintah : “php artisan make:test Namatest –unit” maka perintah ini akan otomatis membuat Unit Test dan akan masuk ke folder tests/Unit.

Contoh :  buka terminal lalu ketikan “php artisan make:test Contohunittest –unit”

Create unit test
Create unit test – photo by webbaliseo

Setelah kita melakukan perintah diatas, kita telah berhasil membuat Unit Test dengan nama “Contohunittest” yang filenya ada di tests/Unit/Contohunittest.php seperti gambar diatas, kalau kita buka file tests/Unit/Contohunittest.php seperti gambar dibawah ini

create unit test
create unit test – photo by webbaliseo

dari gambar diatas perhatikan kode “use PHPUnit\Framework\TestCase;” kode ini berarti TestCase nya punya PHPUnit bukan punya Framework Laravel.

2. Feature test / Integration test

Laravel memiliki fitur yang mempermudah kita dalam membuat integration test, Bedanya dengan Unit Test, di integration test aplikasi laravel bisa di akses dengan mudah, misalnya kita nanti mau memanggil Database, Controller dan lain-lainnya. Untuk membuat Integration Test kita cukup membuat class turunan dari illuminate\Foundation\Testimg\TestCase, dalam prosesnya integration test akan lebih lambat dibandingkan karena kita harus menunggu proses loading framework laravel terlebih dahulu, tapi jika kita ingin menggunakan fitur laravel maka anda wajib menggunakan Integration Test.

Cara membuat Integration test

Dalam membuat Integration Test, kita bisa melakukannya secara manual atau kita bisa menggunakan file artisan dengan perintah : “php artisan make:test Namatest”
perintah artisan ini akan secara otomatis membuat Integration Test lalu akan masuk ke folder tests/Feature.

Contoh : buka terminal dan ketikan perintah “php artisan make:test Contohintegrationtest”

create integration test
create integration test – photo by webbaliseo

Kita telah berhasil membuat integration test / feature test dengan nama “Contohintegrationtest” yang filenya berada di folder tests/Feature/Contohintegrationtest.php seperti diatas, kalau dibuka filenya seperti gambar dibawah ini

create integration unit / feature test
create integration unit / feature test – photo by webbaliseo

dari gambar diatas perhatikan kode “use Tests\TestCase;” kode ini berarti integration test/feature test yang kita buat tadi menggunakan TestCase (Tests\TestCase) Framework Laravel beda dengan Unit test yang kita pertama tests/Unit/Contohunittest.php yang menggunakan PHPUnit (use PHPUnit\Framework\TestCase; )

Jika kita bandingkan akan tampak seperti gambar dibwah ini

Jadi Kesimpulannya

  • Integration test / Feature test menggunakan TestCase -> Tests\TestCase (use Tests\TestCase;) TestCase-nya menggunakan TestCase Framework Laravel
  • Unit Test menggunakan TestCase -> PHPUnit\Framework\TestCase (use PHPUnit\Framework\TestCase;) TestCase-nya TIDAK menggunakan TestCase Framework Laravel

Menjalankan Test

Untuk menjalankan test, kita bisa menggunakan PHPUnit seperti biasa atau jika menjalankan semua test, kita bisa menggunakan file artisan dengan perintah php artisan test.

Jika anda menggunakan VScode anda bisa install Better PHPUnit untuk menjalankan testnya, seperti gambar dibawah ini

Test driven development
Test driven development with better phpunit – photo by webbaliseo

untuk menjalankan test dengan Better PHPunit, buka file test anda lalu tekan tombol ctrl+shift+p pada keybord lalu pilih “Better PHPUNIT: run” seperti gambar 1 dan 2 dibawah ini

Test driven development
Test driven development with better phpunit – photo by webbaliseo

Demikian tutorial belajar laravel bagian 4, sampai ketemu pada tutorial belajar laravel bagian 5, semoga bermanfaat.

Anda mungkin ingin melihat tutorial belajar laravel yang lainnya :