Cara menggunakan php assertion error

Halo fellas! Baru aja artikel //medium.com/@kiddy.xyz/mengenal-test-driven-development-d8e838236aca dirilis tapi semangat saya masih menggebu untuk berbagi insight! Oke kita lanjut ya.

Kita akan belajar tentang PHP Unit Test, yaitu salah satu metode testing TDD di PHP. Pada PHP Unit Test ini kita tidak menggunakan PHP Native ya, tapi langsung menggunakan Laravel dan metode Unit Testnya adalah HTTP Test atau menguji coba HTTP [URL kita] yang telah kita sambungkan ke route.

Sebelum mulai saya mau kasitau dulu, karena kita akan menggunakan projek saya maka saya akan kasitau bahwa projek saya menggunakan Laravel 5.7 dan wajib menggunakan PHP ≥ 7.0.

Saya ngga sarankan agan untuk menggunakan PHP ≤ 7.0 karena saya ngga tau Unit Test ataupun Laravelnya bakalan beda atau ngga dengan versi yang saya gunakan. So cekidot.

Pertama silahkan clone repository saya dulu disini. //github.com/kiddyxyz/laravel-crud-inventory, setelah itu silahkan kalian konfigurasi sendiri seperti databasenya, lalu composer install seperti biasa.

Setelah itu jangan lupa jalankan migratenya, didalamnya sudah ada kok. Jangan lupa juga jalankan seedernya, biar ada data awalnya. Kalo ngga mau nge-seed juga ngga apa kok, opsional aja hehehe.

Kalian ngga perlu nyetting lokasi URL-nya di server local atau jalanin dengan artisan serve karena kita akan jalanin PHPUnit aja kok.

Homepage

Product Page

Buat yang kepo ini tuh projek apa, ini sebenernya tugas perkuliahan saya pake Laravel. Karena saya malas untuk membuat projek baru dan projek ini sudah cukup baik untuk dasar strukturnya jadi pake ini saja ya hahaha.

Oke lanjut, sekarang kita cek strukturnya.

Kita akan fokus ke dua folder pada saat ini, folder tests dan folder Controllers.

Folder tests

Folder Controllers

Tak jelasin dulu deh, jadi untuk pertama kita akan menyamakan isi struktur folder tests dengan folder code yang akan kita ujicoba.

Kita akan membuat struktur folder tests mirip yaitu kita akan membuat folder Http dan didalamnya ada folder Controllers. Kenapa begitu? Biar enak aja strukturnya, jadi jelas class mana yang diuji coba.

Selain itu nama nya akan menjadi NamaFileTest, sebagai contoh ProductControllerTest, fungsinya untuk menjelaskan bahwa isi test didalam ini adalah semua unit test dari class tersebut.

Oke tanpa basa basih kita akan mencoba dengan ProductControllerTest. Silahkan jalankan code dibawah ini.

php artisan make:test Http/Controllers/ProductControllerTest

Lalu liat strukturnya dibawah ini:

Struktur folder tests

Saat ini kita sudah mendapatkan satu unit test pertama kita, yuk langsung buka classnya.

Setelah dibuka maka codenya akan seperti dibawah ini:

Bài mới nhất

Chủ Đề