https://phpunit.readthedocs.io/en/9.5/index.html
Sudah banyak aplikasi yang saya buat aplikasi berbasis web, baik PHP Native, Framework (CI3 dan Yii2), tapi kenapa saya tidak pernah menyentuh PHPUnit yang merupakan salah satu cara mengukur kualitas aplikasi kita ? Haduh, mungkin karena tuntutan kerjaan memaksa untuk cepat sehingga kadang ideologi sambil jalan sambil test saja di browser.
Berawal dari belajar testing dengan menggunakan codeception di Yii2, tapi kok saya ga mudeng-mudeng yah ? Setidaknya saya hanya mengerti garis besarnya saja mengenai dunia per-testingan kalau ada yang namanya unit-test, functional-test, dan acceptance-test. Oke, akhirnya saya memutuskan untuk kembali ke dunia testing yang paling bawah, yaitu unit-testing.
Beberapa catatan untuk membantu dalam project -project PHP selanjutnya
- alias phpunit="vendor/bin/phpunit" di .zshrc, kemudian compile ulang dengan perintah source .zshrc
- ketikkan perintah phpunit, maka semua testing akan berjalan berurutan dari file terakhir yang dibuat
- gunakan parameter --testdox, supaya kita bisa lihat proses secara underhood bagaimana PHPUnit melakukan list evaluasi testing di terminal.
- setiap method function dalam satu file testing akan mendeteksi otomatis , jika ditulis dengan format baku phpunit yaitu `public function test________`
Mari mulai coding.
=> Buat satu PHP project menggunakan composer
=> Install phpunit package
=> Open project hasil dari composer dengan menggunakan IDE atau kode editor, misalnya visual studio code:
=> Membuat file konfigurasi phpunit.xml,
=> (Opsional) Pastikan konfigurasi phpunit ter-update dengan melakukan perintah --migrate-configuration, hasilnya phpunit akan menggenerate satu file phpunit.xml terbaru pada root project (jika ada perubahan).
=> Menulis phpunit untuk melakukan unit test untuk pertama kalinya. Semua file unit test akan ada di folder tests, sehingga kita coba buat satu folder dengan nama dasar, dan satu file bernama HelloWorldTest.php didalam folder tests.
=> Contoh kasus, Kita akan membandingkan dua string yang berbeda yaitu "Hello world" dan "HelloWorld", dengan bantuan PHPUnit pada function `$this->assertSame($expected, $realita)`. Sudah pasti hasilnya harus error, dan begitupun PHPUnit memberitahukan ada error seperti berikut ini
Dengan opsi --testdox, jika dua string tersebut sama persis maka kita bisa melihat test-test yang berjalan. Berikut tampilannya
Dukung Saya supaya tetap menulis artikel-artikel yang baik, membayar sewa domain, dan server untuk blog ini. Caranya dengan donasi cendol via Trakteer.id.
Komentar: 0
Login untuk meninggalkan komentar