Langkah-Langkah Membuat dan Menjalankan PHPUnit di Laravel

Qisthi Ramadhani
Javan Cipta Solusi
Published in
3 min readJan 16, 2024

Halo para pembaca! Pada artikel kali ini, kita akan membahas tentang bagaimana membuat dan menjalankan test untuk memastikan sebuah kategori dapat dibuat pada aplikasi web kita.

Testing endpoint post with PHPUnit

Pertama-tama, kita akan membuat sebuah test untuk memvalidasi apakah kategori dapat dibuat. Kita akan menggunakan method POST dan mengirimkan data ke endpoint api/categories. Langkah ini penting untuk memastikan bahwa proses pembuatan kategori berjalan dengan baik.

Class CategoriesTest for creating category via POST endpoint
Class CategoriesTest for creating category via POST endpoint

Setelah itu, kita perlu menjalankan test tersebut. Ada beberapa cara untuk melakukan ini, salah satunya adalah menggunakan php artisan test. Namun, metode ini akan menjalankan semua test yang ada, sementara kita hanya ingin fokus pada test kategori saja.

Extension PHPUnit Test Explorer di VS Code
Extension PHPUnit Test Explorer di VS Code

Untuk lebih spesifik, kita bisa menggunakan PHPUnit Test Explorer di VS Code. Jika belum terinstal, kita dapat menginstalnya terlebih dahulu. Setelah terinstal, kita akan melihat tanda play yang menandakan kita bisa menjalankan test dengan sekali klik.

Class CategoriesTest with PHPUnit Test Explorer installed
Class CategoriesTest with PHPUnit Test Explorer installed

Ketika kita mencoba menjalankan test, kita mungkin mendapat respons ‘Exception unauthenticated’. Hal ini terjadi karena di controller yang kita gunakan, terdapat middleware yang membatasi akses hanya untuk metode Store, Update, dan Destroy. Untuk mengatasi ini, kita perlu login terlebih dahulu.

Perlu di perhatikan baris 14, kita memberi instruksi ke PHPUnit bahwasanya jalankan test ini tanpa exception handling. Dengan ini, kita akan mendapatkan semua exception yang kemungkinan akan terjadi ketika running test. Apabila baris ini tidak ada, maka PHPUnit hanya akan menampilkan status code saja, tanpa memberi tahu exception yang terjadi di server.

Unauthenticated exception
Unauthenticated exception

Kita bisa membuat sebuah user baru menggunakan user model factory dan kemudian login sebagai user tersebut. Setelah login, kita dapat mengirim request POST ke API kategori. Jika kita rerun test tersebut, seharusnya test akan berjalan dengan sukses.

Logging in factory user to the test
Logging in factory user to the test

Untuk memastikan keberhasilan lebih lanjut, kita dapat menambahkan beberapa assertions. Sebelumnya, kita sudah checking status code dari respons dan jumlah data dalam database. Kita juga bisa menambahkan assertion di database untuk memastikan data yang kita kirim tersimpan dengan benar.

Add new assertion database has
Add new assertion database has

Demikianlah langkah-langkah membuat dan menjalankan test kategori pada aplikasi web. Semoga informasi ini bermanfaat bagi Anda. Jangan lupa untuk like, comment, dan subscribe. Terima kasih dan sampai jumpa di artikel selanjutnya!

Cheers! 🎉

--

--