Sharing Fixture

sharing fixture

Independent Unit Test

Secara default, class unit test itu sebenarnya akan selalu dibuat sebelum function unit test dijalankan, jadi tidak menggunakan object unit test yang sama
Begini cara berjalan unit test :
  • membuat object unit test
  • menjalankan fixture set up
  • menjalankan function unit test
  • menjalankan fixture tear down
  • ulangi dari awal untuk function unit test selanjutnya


Sharing Fixture

Karena object dari class unit test selalu dibuat ulang, maka kadang agak menyulitkan jika kita ingin membuat data yang bisa di sharing antar unit test, misal koneksi database.

Untuk hal seperti ini, kita bisa membuat data nya berupa variable static, sehingga variable static tersebut tidak perlu tergantung dengan object unit test lagi.

Kode : Sharing Dengan Static

kode sharing dengan static

Fixture Class

Sekarang pertanyaannya, bagaimana cara menginisialisasi data static tersebut? Karena kita tidak bisa menggunakan setUp() method, karena bukan static function.

setUp() method, karena bukan static function

php unit test bukan static function

Untungnya PHPUnit mendukung sharing fixture seperti ini, nama function nya adalah :
  • static function setUpBeforeClass() untuk setup diawal ketika class unit test dieksekusi, atau menggunakan @beforeClass.
  • static function tearDownAfterClass() untuk dipanggil diakhir ketika class unit test selesai, atau menggunakan @afterClass.
  • Sharing fixture hanya dieksekusi sekali diawal dan diakhir, walaupun di class unit test terdapat banyak function unit test.

Sharing Fixture

sharing fixture

hasil sharing fixture
Next Post Previous Post
No Comment
Add Comment
comment url