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 ?
- Memastikan suatu sistem siap untuk digunakan.
- Meningkatkan kepercayaan pengguna terhadap kinerja program.
- Memperlihatkan bahwa program bekerja dengan baik dan benar.
- 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"