Kamis, 03 Juni 2010

Unit Testing pada CodeIgniter

Artikel ini disusun bersama Radikrio

CodeIgniter adalah salah satu framework PHP yang baik dalam arsitektur 3 tier atau
MVC(Model Control View)
. CodeIgniter memisahkan fungsi mereka ke dalam 3 kelas utama, yaitu:
  • Model yang menangani masalah query
  • View yang berisi tag html, ajax, dan seterusnya.
  • Controller yang mengontrol aliran data di antara keduanya
Kali ini kami akan menjelaskan cara Unit Testing pada CodeIgniter. Supaya lebih terarah, kami tidak menjelaskan tentang bagaimana untuk menulis kode menggunakan CI (CodeIgniter). Tapi kalo tetep pengen, kamu bisa belajar sendiri di situs resminya CodeIgniter.

Tambahkan kode ini pada welcome.php

function Welcome()

{

parent::Controller();


//Menginisialisasi/mengaktifkan class testing

//yang sudah terdapat di dalam framework CodeIgniter

$this->load->library(‘unit_test’);


//Memanggil fungsi Teks

$this->Test();

}

function index()

{

}

function Test(){

//tes yang diinginkan

//dapat juga berupa pemanggilan fungsi

$test = 1 + 1;

//nilai yang diharapkan

$expected_result = 2;

//nama tes

$test_name = ‘Adds one plus one’;

//melakukan testing sekaligus menampilkan hasilnya

echo $this->unit->run($test, $expected_result, $test_name);

}



Ketika dijalankan pada browser akan muncul:


Itu adalah unit testing CI yang paling simpel yang bisa dilakukan.

Unit testing di atas sudah dengan sendirinya memanggil fungsi assert untuk membandingkan return value dari sebuah fungsi dengan nilai yang kita harapkan.
Namun kelemahan dari unit testing pada CodeIgniter adalah ketika membandingkan nilai, unit testing pada CodeIgniter sangat toleran terhadap perbedaan return value dengan keluaran yang diharapkan, semisal output yang diharapkan sebuah bilangan 10. Maka apapun nilai kembalian dari fungsi yang termasuk integer akan dianggap passed (benar) oleh testing ini.

Semoga bermanpaat.

1 komentar:

Mas Abdullah mengatakan...

Assalamu'alaykum mas, ijin mampir, kok udah ga diupdate lagi mas?? hehe....