Skip to content

M05 · Bab 4± 50 menitDraf AI

AssertJ & Test-Driven Development

Tujuan belajar

  • Menulis assertion yang mudah dibaca dengan assertThat dari AssertJ untuk string, collection, dan object
  • Memeriksa isi list dengan containsExactly, extracting, dan filteredOn
  • Menguji exception dengan assertThatThrownBy dan membandingkan BigDecimal dengan isEqualByComparingTo
  • Menjalankan siklus TDD red-green-refactor langkah demi langkah
  • Menilai kualitas test dengan prinsip FIRST dan mengenali kapan TDD membantu

Prasyarat: Unit Test dengan JUnit

Kuis

5 soal · lulus bila minimal 70% benar

1.Apa hasil assertThat(new BigDecimal("10.50")).isEqualTo(new BigDecimal("10.5"));?
2.List statuses berisi NEW, PAID, SHIPPED. Assertion mana yang gagal?
3.Kamu menulis test baru untuk aturan "berat dibulatkan ke atas per kg", menjalankannya, dan test itu gagal sesuai dugaan. Menurut TDD, apa langkah berikutnya?
4.Test assertThatThrownBy(() -> calculator.cost(1_000, "MARS")).isInstanceOf(IllegalArgumentException.class) gagal dengan pesan "Expecting actual throwable to be an instance of IllegalArgumentException but was NullPointerException". Apa artinya?
5.Test isWeekendPromo() lulus di laptopmu hari Sabtu tapi gagal di CI hari Senin, karena method itu memanggil LocalDate.now() di dalamnya. Prinsip FIRST mana yang dilanggar?

Jawab semua soal dulu (0/5)