Lompat ke konten utama

Kompetisi Ajak Teman: hadiah total Rp1.000.000 tunai untuk 3 pengajak terbanyak. Berakhir 29 November 2026. Ikut kompetisi

←

Pengujian Perangkat Lunak

Pelajaran 2 dari 15

Test pertama: assert dan doctest

Contoh di docstring sebagai test: doctest

Setelah pelajaran ini kamu bisa menulis contoh pemakaian di docstring yang sekaligus dijalankan doctest, dan membaca kenapa contoh yang tampak benar bisa gagal.

±14 menitDiperiksa 3 Okt 2026

Materi

Modul doctest mencari potongan teks yang tampak seperti sesi Python interaktif — baris berawalan >>> diikuti keluaran yang diharapkan — lalu menjalankan baris itu dan membandingkan keluarannya. Potongan tersebut ditulis di docstring, yaitu teks berkutip tiga di baris pertama badan fungsi. Hasilnya, contoh pemakaian di dokumentasi sekaligus menjadi test, dan dokumentasi yang sudah tidak cocok dengan kodenya ketahuan sendiri.

def kode_kelas(tingkat, rombel):
    """Kode rombongan belajar, misalnya 7A.

    >>> kode_kelas(7, "a")
    '7A'
    >>> kode_kelas(10, "c")
    '10C'
    """
    return f"{tingkat}{rombel.upper()}"


if __name__ == "__main__":
    import doctest
    doctest.testmod()

Pembandingannya berupa teks, karakter demi karakter, bukan nilai. Yang dibandingkan adalah tampilan yang akan dicetak sesi interaktif: nilai teks muncul bertanda kutip, pecahan muncul dengan semua digitnya, dan spasi di ujung baris ikut dihitung. doctest.testmod() memeriksa semua docstring di berkas yang sedang dijalankan dan diam saja bila semuanya cocok; perintah python -m doctest -v berkas.py menampilkan setiap contoh yang dicoba beserta hasilnya.

Kapan dipakai: untuk dua atau tiga pemanggilan yang memang ingin dibaca orang sebagai penjelasan cara pakai fungsi. Untuk puluhan kasus batas, unittest di modul berikutnya lebih mudah dirawat, karena hasil harapannya berupa nilai yang dibandingkan dengan ==, bukan teks tampilan. Contoh yang harus melempar galat juga bisa ditulis: baris Traceback (most recent call last): lalu baris nama galat dan pesannya.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 3 dari 3

Docstring berisi contoh >>> 0.1 + 0.2 dengan keluaran harapan 0.3. Apa hasilnya saat doctest dijalankan?

Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke