Membuat Unit Testing di PHP dengan PHPUnit

Unit Testing adalah tes terkecil dalam serangkaian test untuk menguji sebuah fungsi atau kelas pada kode kita. Sebenarnya, beberapa tahapan testing dalam pengembangan aplikasi. Lebih lanjut, pengujian meliputi Unit Testing, Integration Test, Acceptance test, Performance Test, dsb. Unit testing memegang peranan penting pengujian ini. Tujuannya agar software yang telah rilis memiliki kualitas yang lebih baik. Untuk alasan ini, biasanya pengembang library selalu menyertakan unit test. Artikel ini akan membahas bagaimana cara membuat unit testing di PHP dengan PHPUnit. Unit test akan menjadi kompas dalam pengujian (base case, edge case hingga corner case) . Tanpa adanya unit test, proses pengujian akan memakan banyak waktu. Pada perusahaan besar seperti Gojek dan Grab, unit test adalah suatu kewajiban. Tak jarang mereka merekrut tenaga khusus untuk melakukan pengujian software sehingga aplikasi menjadi lebih secure & reliable Unit Test ini memiliki kemiripan dengan Integration Test. Keduanya menggunakan tools yang sama, hanya saja pada unit test tidak memperkenankan service-service dari luar. Setiap bahasa pemrograman atau framework memiliki tools berbeda untuk melakukan unit testing ini. Di PHP, salah satu tools yang populer untuk pengujian unit testing menggunakan PHPUnit. Instalasi PHPUnit Sebelum anda menginstall PHPunit anda harus menginstall composer terlebih dahulu. Composer ini tidak built-in di PHP, karena itu instalasi dilakukan terpisah. Composer merupakan dependency manager pada bahasa pemrograman PHP. File instalasi dan dokumentasi composer tersedia pada website resminya, https://getcomposer.org/. Proses instalasi composer sama seperti software pada umumnya. Kita hanya perlu double klik pada master instalasi kemudian next sampai finish. Selanjutnya, buat sebuah folder kosong beri nama “belajar-php-unit”. Kemudian jalankan perintah ini pada Terminal atau CMD bagi pengguna OS windows Setelah perintah selesai dijalankan, buka folder belajar-php-unit. Dalam folder tersebut akan muncul tiga file baru yakni composer.json, composer.lock & folder vendor. Nah pada tahapan ini kita sudah berhasil menginstall phpunit. Membuat Class Baru Pada tutorial ini kita akan mencoba membuat unit-test pada kelas baru bernama class Matematika. Class Matematika ini adalah library yang kita buat dan akan dipakai oleh kita sendiri atau sendiri atau tim. Kita akan membuat unit test terhadap method yang ada pada class matematika ini. Buat sebuah file bernama Matematika.php kemudian isikan source code berikut Method ini bertujuan untuk mencari hasil perpangkatan dua bilangan. Dalam method ini terdapat empat case yang mungkin terjadi, yakni: 1. Bilangan basic positif, bilangan exponen positif2. Bilangan basic negatif, bilangan exponen positif3. Bilangan basic Positif, exponen negatif4. Inputan berupa string Selanjutnya buat file test dengan nama MatematikaTest.php, dengan code seperti berikut: Jalankan unit test dengan command: Hasil eksekusi unit test ini adalah sebagai berikut Kita melihat dari response tersebut, terdapat 4 test dengan 4 assertions, terdapat 1 error dan 1 failure. 1) MatematikaTest::testInputNgawurA non-numeric value encountered Error ini terjadi karena memberi inputan string pada inputan yang seharusnya integer. Sedangkan 1 Failure terjadi karena hasil yang salah saat melakukan testPositifNegatif. Dalam kasus 2 pangkat -4, seharusnya menghasilkan 0.0625. Ini tidak sesuai dengan kenyataan dari pemanggilan method tersebut yakni 1. Dengan demikian method tersebut gagal untuk case bilangan positif pangkat negatif. Contoh kasus diatas merupakan contoh kasus sederhana yang sangat lumrah terjadi dalam pengembangan aplikasi. Meskipun kode yang dibuat sesuai requirement, terdapat case-case yang tidak berjalan pada proses bisnis yang akan terjadi. Itulah dia, cara membuat unit Testing di PHP dengan PHPUnit