PengantarUnit Testing sebenarnya adalah kumpulan tes yang berbeda terhadap kode kamu. Bukan pekerjaan yang sulit untuk menulis unit test. Untuk mempraktekkan unit testing kita membutuhkan tools untuk mengetest. Di dunia PHP ada salah satu tools yang populer, adalah Untuk belajar materi ini kamu diharapkan sudah paham :
Bagi yang merasa sudah paham 4 point diatas kita coba lanjutkan. Buatlah sebuah folder dengan nama Instalasi PHP UnitPertama-tama kita membutuhkan framework PHPUnit. Halaman website PHPUnit dapat ditemukan pada alamat https://phpunit.de/. Saat ini PHPUnit sudah mencapat versi 9. Nah, untuk latihan kali ini kita akan gunakan versi 8 yang terdaftar secara default pada repository Composer. Silahkan buka folder
Tampilannya akan terlihat seperti ini : Jika kamu buka folder Bisa dilihat pada gambar diatas, saya buka foldernya dengan menggunakan VSCode. Membuat Class ContohPada dunia nyata dalam proyek seringkali kita
membuat class. Baik pekerjaan native ataupun menggunakan framework. Misalnya membuat controller, model, ataupun library. Dalam kasus sekarang kita ceritanya mempunyai sebuah library yang ingin kita test. Library ini kita beri nama Silahkan buat sebuah file bernama
Terlihat sederhana? kita hanya membuat sebuah method bernama Membuat TestTidak berlama-lama, langsung saja kita buat kode untuk testingnya. Untuk membuat test kita membutuhkan komponen class dari PHPUnit. Komponen tersebut sudah terinstall dalam folder vendor saat menjalankan Composer. Sekarang buatlah file bernama
Pada kode tersebut kita Dalam kode kita juga membuat class bernama Sebenernya penamaannya bebas terserah teman-teman, nama pada contoh diatas adalah nama yang paling relevan dengan kasus kita. Pada method testCountWords kita membuat instance
dari class yang ingin kita test, lalu menjalankan Jalankan TestSilahkan buka folder proyek
Disini kita memanggil binary program phpunit dan memerintah untuk mengetest file Perintah assertEqual akan membandingkan parameter pertama (output yang diinginkan) dan paramater kedua (method yang di run), jika match, berarti test berhasil. Terbayang? Kita hanya membandingkan hasil yang diinginkan dengan hasil real output class yang ingin di test. Jika sesuai ekspektasi maka si class tersebut berjalan dengan baik. Jika ternyata pas di test hasil tidak sama, berarti class kita ada bug / error. String "My name is Joko" harus selalu mengeluarkan hasil 4. Sampai disini kita sudah berhasil belajar Unit Testing sederhana. |