Skip to content Skip to sidebar Skip to footer

Cara Unit Testing Menggunakan PHPUnit di codeigniter

Pengertian Unit Testing

Pengujian unit adalah sebuah metode pengujian perangkat lunak. Pada metode ini unit individu dari kode sumber, kumpulan dari satu atau lebih modul program komputer bersama-sama dengan kontrol data terkait, prosedur penggunaan, dan prosedur operasional, diuji untuk menentukan apakah mereka layak dipakai.

Mengapa sebuah sistem harus ditesting

  1. Memastikan suatu sistem siap untuk digunakan.
  2. Meningkatkan kepercayaan pengguna terhadap kinerja program.
  3. Memperlihatkan bahwa program bekerja dengan baik dan benar.
  4. Membuktikan bahwa tidak terjadi error pada program.

Persiapan Kebutuhan

Pada uji kasus kali ini kita akan melakukan otomatis testing menggunakan phpunit yang akan dijalankan di program php menggunakan framework codeigniter. Disni saya menggunakan framework codeigniter 3, untuk framework php lainnya dapat menyesuaikan.

  • Framework codeigniter3
  • php composer
  • Terminal Linux / command line

Instalasi PHP Unit

Pertama-tama kita membutuhkan framework phpunit, kita akan menginstall-nya melalui composer yang bersumber dari https://phpunit.de/   

Perlu diperhatikan untuk menginstall phpunit, sesuaikan dengan versi php yang anda gunakan. Karena saya menggunakan php versi 7.4 jadi saya akan menginstall phpunit 9.

untuk cara install versi phpunit lainnya anda dapat mengikuti dokumentasi resmi phpunit : https://phpunit.de/documentation.html

composer require --dev phpunit/phpunit ^9.6

Mengecek hasil instalasai

vendor/bin/phpunit --version


Jika anda buka folder/projek unittest sekarang akan terisi file composer.json, composer.lock beserta folder vendor. Sampai sini kita sudah berhasil menginstall PHP Unit.

Tambahan

Karena projek yang saya buat menggunkaan framework codeigniter 3, jadi saya ingin menambahkan custom phpunit yang telah dibuat oleh kenjis https://github.com/kenjis/ci-phpunit-test agar lebih dipermudah penggunaannya.

Pertama kita install menggunakan composer

composer require kenjis/ci-phpunit-test:^3.0 --dev


Run install.php

php vendor/kenjis/ci-phpunit-test/install.php --from-composer

Cek hasil installasi, jika didalam folder application terdapat folder 'tests' maka instalasi berhasil.


Cara Membuat Test

Controller

application > tests > controllers > Latihan_test.php

 <?php
class Latihan_test extends TestCase{
    public function setUp(): void{
        $this->resetInstance();
        $this->CI->load->model(['Inventory_model']);
    }
    public function test_get_name(){
        $actual = $this->CI->Inventory_model->category();
        $expected = "laptop";
        $this->assertEquals($expected, $actual);
    }
}

Models

applications > models > Inventory_model.php

<?php
defined('BASEPATH') or exit('No direct script access allowed');
class Inventory_model extends CI_model{
    public function category(){
        $post   = "laptop";
        return $post;
    }
}


Cara Menjalankan Test

Menjalankan Semua Tes

vendor/bin/phpunit -c application/tests/

Menjalankan Single Tes

vendor/bin/phpunit -c application/tests/ application/tests/controllers/Latihan_test.php

Jika tes yang dijalankan terdpat false atau tidak cocok.

Perintah assertEqual akan membandingkan parameter pertama (output yang diinginkan) dan paramater kedua (method yang di run), jika match, berarti test berhasil.

Project : https://github.com/Dstar18/unittest

Oke, sampai disini kita sudah berhasil membuat otomatis testing menggunakan phpunit di codeigniter.

Post a Comment for "Cara Unit Testing Menggunakan PHPUnit di codeigniter"