Yii2: Menggunakan Codeception untuk Testing - Code Coverage Support - TDD - BDD (Part 3)

Sesuai dengan namanya, code coverage, merupakan alat ukur utama untuk mengukur usaha pengujian pada code yang sudah di-develop sebelumnya oleh tim developer atau programmer.
Published di Yii2, 2 years ago

Part 3, menyambung dari tulisan sebelumnya : Part 2 dan Part 1, maka kita akan lanjutkan seri selanjutnya yang fokus pada code coverage.  Secara teori, code coverage adalah bentuk implementasi dari White-Box-Testing. Saya menemukan tulisan yang cukup bagus dalam Bahasa Indonesia yang membahas masalah ini Medium. Kita akan berfokus bagaimana Yii2 mengimplementasikan hal ini.

Untuk MacOS M1, Hal yang diperlukan:

  1. Niat
  2. PHP sudah terinstall dengan baik,
  3. Package xdebug, sesuaikan dengan versi PHP yang digunakan,
  4. Browser internet
  5. Berikut langkah-langkahnya. 

=> Cek PHP Version yang terinstall dengan cara mengetikkan di terminal sebagai berikut : `php -v` 

=> Instalasi Xdebug.

Untuk Xdebug, beberapa metode bisa kita gunakan seperti:

==> Via hombrew, kita bisa mengecek version xdebug yang tersedia via `brew search xdebug`, kemudian install sesuai dengan versi php kamu, misalnya `brew isntall xdebug@.7.4`

==> Via Xdebug Wizard, caranya:

Akses ke halaman ini : https://xdebug.org/wizard, kemudian di terminal ketikkan perintah berikut `php -i | pbcopy`, maka semua konfigurasi php sudah tercopy ke clipboard, kemudian pastekan ke link sebelumnya. Selanjutnya tinggal ikuti instruksinya saja yang ditampilkan pada halaman web Xdebug.


==> Via PECL, metode ini yang saya gunakan, kenapa, karena lebih mudah instalasinya di server Saya karena server Saya berbasis Linux Ubuntu 20.04. Namun jika anda menggunakan docker, tinggal perlu sedikit perubahan di Dockerfile untuk menginstall via PECL. Cara menginstalasinya via terminal, ketikkan `pecl install xdebug`.

Hasilnya bisa kita cek lagi via  command `php -v`, jika tidak ada masalah koneksi, berikut tampilannya:

=> Kita masih perlu melakukan sedikit konfigurasi lagi, yaitu meng-enable xdebug ini ke PHP, dengan cara mengaktifkan konfigurasi di php.ini. Berikut langkahnya:

==> Mencari posisi php.ini yang digunakan dengan perintah pada terminal : `which php`, kemudian pindahkan direktori aktif, 

kemudian edit menggunakan text editor seperti nano, vi, atau textedit. Tambahkan baris konfigurasi `xdebug.mode=coverage`. Kemudian save dan close edittor konfigurasi.

Jika semuanya sudah komplit, sekarang mari kita biarkan Yii2 dengan codeception bekerja untuk menghasilkan code coverage ini.

=> Aktifkan konfigurasi code-coverage pada file codeception.yml pada root project Yii2. 

=> Kemudian pada root project Yii2 kita, kita running codeception tersebut dengan perintah `vendor/bin/codecept run functional,unit --coverage --coverage-html`

Selamat, anda sudah berhasil melakukan code coverage untuk pertama kalinya. Hasil coverage nya juga berupa HTML yang bisa kita laporkan sebagai grafik yang tergenerate secara otomatis di folder `tests\__output\coverage`. Buka file index.html yang ada di folder tersebut dengan menggunakan browser internet kamu.


Sometimes, membuat sesuatu itu sulit, tapi lebih sulit memelihara. Jadi keep learning, and semoga bermanfaat. 

Dukung Saya supaya tetap menulis artikel-artikel yang baik, membayar sewa domain, dan server untuk blog ini. Caranya dengan donasi cendol via Trakteer.id.


No image

Fadly Dzil Jalal

PHP, Yii2 Framework, Laravel, Java, Java Swing, Hibernate, Javascript, Angular, React, MySQL, MongoDB


Dapatkan USD 200 untuk develop aplikasimu di DigitalOcean DigitalOcean Referral Badge