3.23 unit testing class
unit testing adalah tahapan testing aplikasi paling awal Dengan cara melakukan testing terhadap entitas paling kecil untuk setiap fungsi dalam suatu aplikasi. Entitas paling kecil disini adalah method.
Seperti halnya class yang lain, class ini juga perlu diinisialisasi sebelum digunakan. cara melakukan inisialisasi adalah sebagai berikut:
$this->load->library(‘unit_test’); |
Setelah di-load, library ini bisa dipanggil dengan menggunakan fungsi
$this->unit |
3.23.1 Menjalankan Unit Test class
Untuk menjalankan unit test class yaitu dengan menggunakan fungsi di bawaih ini
$this->unit->run( test, expected result, 'test name', 'notes'); |
Test = hasil kode yang akan diuji,
Expected result = type data yang digunakan dalam unit test class ini
Test name = optional name yang akan diuji
Notes = optional notes yang akan diuji.
Contoh
$test = 1 + 1; $expected_result = 2; $test_name = 'Adds one plus one'; $this->unit->run($test, $expected_result, $test_name); |
Hasil contoh di atas akan menjadi tipe data match or literal match. Berikut ini contoh dari literal.
$this->unit->run('Foo', 'Foo'); |
Dan ini contoh fari type data match
$this->unit->run('Foo', 'is_string'); |
Perhatikan penggunaan "is_string" di parameter kedua, Ini menjelaskan fungsi untuk mengevaluasi apakah pengujian Anda menghasilkan sebuah string sebagai hasilnya. Berikut adalah daftar parameter yang bias digunakan.
- is_object
- is_string
- is_bool
- is_true
- is_false
- is_int
- is_numeric
- is_float
- is_double
- is_array
- is_null
3.23.3 Generating Laporan
Hasil dapat ditampilkan setelah menyelesaikan setiap kali tes atau menyelesaikan beberapa tes dan akhirnya menghasilkan laporan. Untuk menampilkan laporan secara langsung dapat digunakan perintah echo / run. Fungsinya seperti d bawah ini :
echo $this->unit->run($test, $expected_result); |
Untuk menampilkan semua hasil tes gunakan fungsi ini
echo $this->unit->report(); |
Laporan akan di eksekusi dalam bentuk HTML. Apabila ingin tetap dalam bentuk data gunakan array. Fungsi :
echo $this->unit->result(); |
3.23.4 Strict Mode
Secara default unit testing class akan mengevaluasi ke literal match. Lihat fungsi ini :
$this->unit->run(1, TRUE); |
Tes ini mengevaluasi integer, namun expexted result adalah boolean. Karena itu typing-data akan mengevaluasi code sebagai TRUE menggunakan normal equality test.
if (1 == TRUE) echo 'This evaluates as true'; |
Unit test class dapat berada dalam bentuk strict mode, yang akan membandingkan type data dengan values
if (1 === TRUE) echo 'This evaluates as FALSE'; |
Untuk mengaktifkan strict mode
$this->unit->use_strict(TRUE); |
3.23.5 mengaktifkan/men nonaktifkan unit testing class
Apabila ingin mengaktifkan / menonaktifkan unit testing class fungsinya seperti di bawah ini
$this->unit->active(FALSE) |
3,23,6 membuat template
Untuk membuat tampilan yang berbeda dari template standart, template bisa dibuat dengan kreasi sendiri. Berikut ini cara membuat template sederhana.
Catatan : yang di perlukan yaitu “pseudo-variables”
$str = ' <table border="0" cellpadding="4" cellspacing="1"> {rows} <tr> <td> {item}</td> <td> {result}</td> </tr> {/rows}</table>'; $this->unit->set_template($str); |
Catatan : Template Anda harusdi declare sebelum menjalankan proses unit testing class.
Tidak ada komentar:
Posting Komentar