Skip to content

M05 · Bab 3± 50 menitDraf AI

Unit Test dengan JUnit

Tujuan belajar

  • Menjelaskan manfaat automated test dan posisi unit test di piramida test
  • Menulis test JUnit Jupiter dengan @Test, @DisplayName, dan pola Arrange-Act-Assert
  • Mengatur lifecycle test dengan @BeforeEach, @AfterEach, dan @BeforeAll
  • Memakai assertEquals, assertAll, dan assertThrows untuk memeriksa hasil dan exception
  • Mengurangi duplikasi dengan @ParameterizedTest serta mengelompokkan skenario dengan @Nested

Prasyarat: Struktur Project

Kuis

5 soal · lulus bila minimal 70% benar

1.Test assertEquals(90_000, calculator.apply(100_000, 1)); gagal. Pesan apa yang ditampilkan JUnit?
2.Class test punya @BeforeEach yang membuat object Inventory baru dan dua method @Test. Berapa kali @BeforeEach dijalankan, dan berapa object class test yang dibuat JUnit?
3.Kamu menambahkan @BeforeAll void startClock() { ... } (tanpa static) ke class test biasa. Apa yang terjadi saat test dijalankan?
4.Ada lima test yang hanya berbeda di data: harga, persen diskon, dan hasil yang diharapkan. Cara paling rapi menulisnya?
5.Rekan menulis assertThrows(IllegalArgumentException.class, () -> calculator.apply(-1, 10)); lalu memindahkan validasi harga negatif ke class lain. Test sekarang gagal dengan pesan apa?

Jawab semua soal dulu (0/5)