Pernyataan
Verifikasi perilaku
Pernyataan adalah pelajaran Kotlin Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Kotlin Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Kotlin Academy mencakup 4 pelajaran total.
Apa Itu Asersi?
Asersi memeriksa apakah nilai aktual sesuai dengan yang Anda harapkan. Jika gagal, pengujian gagal dengan pesan yang membantu.
JUnit5 menyediakan asersi di org.junit.jupiter.api.Assertions.
assertEquals
Asersi yang paling umum. Perhatikan urutannya: yang diharapkan terlebih dahulu, aktual kemudian.
import org.junit.jupiter.api.Assertions.assertEquals
fun main() {
val sum = 2 + 3
assertEquals(5, sum)
println("passed")
}assertTrue dan assertFalse
Asersikan kondisi boolean secara langsung.
import org.junit.jupiter.api.Assertions.assertTrue
import org.junit.jupiter.api.Assertions.assertFalse
fun main() {
assertTrue(10 > 5)
assertFalse("".isNotEmpty())
println("ok")
}Asersi Null
Gunakan assertNull dan assertNotNull untuk memverifikasi kemungkinan null. assertNotNull juga melakukan smart cast dalam banyak kasus.
import org.junit.jupiter.api.Assertions.assertNotNull
import org.junit.jupiter.api.Assertions.assertNull
fun main() {
val name: String? = "Ada"
assertNotNull(name)
assertNull(null)
println("done")
}Menguji Pengecualian
assertThrows memverifikasi bahwa suatu blok melempar pengecualian tertentu. Asersi ini mengembalikan pengecualian tersebut agar Anda dapat memeriksa pesannya.
import org.junit.jupiter.api.Assertions.assertThrows
import org.junit.jupiter.api.Assertions.assertEquals
fun main() {
val ex = assertThrows(IllegalArgumentException::class.java) {
require(false) { "bad input" }
}
assertEquals("bad input", ex.message)
println("caught")
}Asersi Berkelompok
assertAll menjalankan beberapa asersi dan melaporkan semua kegagalan sekaligus, bukan berhenti pada kegagalan pertama.
import org.junit.jupiter.api.Assertions.assertAll
import org.junit.jupiter.api.Assertions.assertEquals
fun main() {
assertAll(
{ assertEquals(2, 1 + 1) },
{ assertEquals(4, 2 + 2) }
)
println("all passed")
}Pesan Kegagalan
Berikan pesan (atau lambda pesan malas) agar kegagalan dapat dipahami tanpa penjelasan tambahan.
import org.junit.jupiter.api.Assertions.assertEquals
fun main() {
val balance = 100
assertEquals(100, balance, "balance should be unchanged")
println("ok")
}Membandingkan Koleksi
assertEquals berfungsi untuk daftar jika urutan dan isinya sama. Gunakan assertIterableEquals untuk iterable dengan tipe konkret yang berbeda.
import org.junit.jupiter.api.Assertions.assertEquals
fun main() {
val expected = listOf(1, 2, 3)
val actual = (1..3).toList()
assertEquals(expected, actual)
println("lists equal")
}Asersi Lancar dengan AssertK
Pustaka seperti AssertK menawarkan gaya assertThat(x).isEqualTo(y) yang mudah dibaca dan populer dalam basis kode Kotlin.
// assertThat(result).isEqualTo(5)
// assertThat(list).contains("a", "b")
// assertThat(name).isNotNull()gagal()
Panggil fail untuk memaksa terjadinya kegagalan, misalnya untuk menandai cabang yang tidak mungkin dijangkau atau pengujian yang belum selesai.
import org.junit.jupiter.api.Assertions.fail
fun process(x: Int): String = when {
x > 0 -> "positive"
else -> fail("unexpected value")
}Memilih Asersi yang Tepat
Pilih asersi yang paling spesifik agar kegagalan jelas:
- Kesetaraan →
assertEquals - Kondisi →
assertTrue/assertFalse - Kesalahan →
assertThrows - Pemeriksaan berulang →
assertAll
Pemeriksaan Cepat
Anda ingin pengujian melaporkan setiap pemeriksaan yang gagal sekaligus, bukan berhenti pada kegagalan pertama. Apa yang Anda gunakan?
Ringkasan
Sekarang Anda mengetahui asersi JUnit5:
assertEquals(yang diharapkan terlebih dahulu),assertTrue/assertFalseassertNull/assertNotNull,assertThrowsassertAlluntuk pemeriksaan berkelompok- Tambahkan pesan agar lebih jelas
Berikutnya: menirukan dependensi dengan MockK.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Pernyataan” gratis?
Ya — teks lengkap “Pernyataan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Kotlin Academy, upgrade ke CoddyKit PRO. Kursus Kotlin Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Pernyataan”?
Verifikasi perilaku Kamu berlatih Kotlin Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Kotlin Academy?
Tidak diperlukan pengalaman sebelumnya. Kotlin Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Pernyataan” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Kotlin Academy ini?
Ya. Setiap pelajaran Kotlin Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.