Bab III Unit Testing Life Cycle
3.1 Tujuan Pembelajaran
a. Mahasiswa memahami life cycle dan anotasi yang ada pada JUnit
b. Mahasiswa mampu mengimplementasikan anotasi pada pengujian unit
3.2 Dasar Teori
Test life cycle atau siklus hidup pengujian menunjukkan alur atau tahapan
pengujian dilakukan. Siklus ini membantu mengatur bagaimana pengujian
diinisiasi, dijalankan, dan diakhiri. Life cycle ini memungkinkan beberapa method
yang menjadi alur pengujian dieksekusi pada satu waktu. Pada JUnit, siklus
hidup pengujian diatur menggunakan anotasi tertentu. Tahapan umum dari
siklus hidup pengujian antara lain:
1. Inisialisasi
Method-method pada fase ini digunakan untuk mempersiapkan
lingkungan pengujian sebelum pengujian dilakukan. Fase ini dapat berisi
inisialisasi objek, konfigurasi, atau alokasi sumber daya yang diperlukan
dalam pengujian. Anotasi yang digunakan dalam fase ini adalah
@BeforeClass (Junit4), @BeforeAll (Junit5), @BeforeEach.
a. @BeforeClass (Junit4) atau @BeforeAll (Junit5)
Anotasi ini menunjukkan method yang akan dijalankan satu kali
sebelum seluruh method-method pengujian dijalankan (@Test).
Method ini harus bertipe static.
b. @BeforeEach
Anotasi ini menunjukkan method yang akan dijalankan sebelum setiap
method pengujian dijalankan.
2. Eksekusi
Fase ini merupakan inti dari pengujian yang berisi implementasi kasus
pengujian. Anotasi yang digunakan dalam fase ini adalah @Test.
3. Pembersihan
Fase ini digunakan untuk membersihkan sumber daya yang digunakan
selama pengujian dan untuk mengembalikan lingkungan pengujian ke
keadaan semula. Anotasi yang digunakan adalah @AfterEach atau
@AfterAll.
a. @AfterAll
Anotasi ini menunjukkan method yang akan dijalankan satu kali
setelah seluruh method-method pengujian dijalankan (@Test).
Method ini harus bertipe static.
b. @AfterEach
Anotasi ini menunjukkan method yang akan dijalankan setelah setiap
method pengujian dijalankan.
3.3 Latihan
Latihan pada modul ini menggunakan studi kasus kalkulator pada Modul
sebelumnya.
Langkah-langkah:
1. Tambahkan method dengan anotasi @BeforeAll, @BeforeEach,
@AfterAll, dan @AfterEach pada kelas uji KalkulatorTest
2. Pada method dengan anotasi @BeforeAll, tambahkan inisiasi nilai a dan
b
3. Hilangkan inisialisasi objek kalk pada tiap test method. Tambahkan output
untuk menunjukkan bahwa method dijalankan.
4. Jalankan test method tambah dan perhatikan hasil dari pengujian
5. Jalankan test class KalkulatorTest dan perhatikan hasil pengujian.
6. Pada method dengan anotasi @BeforeAll, tambahkan output untuk
menunjukkan bahwa method dijalankan
7. Jalankan kembali test class KalkulatorTest dan perhatikan hasil pengujian.
8. Tambahkan method dengan anotasi @AfterAll dan @AfterEach.
Tambahkan output yang sama seperti langkah 6.
7. Jalankan kembali test class KalkulatorTest dan perhatikan hasil pengujian.
3.4 Tugas
Implementasikan test life cycle pada studi kasus Wallet.