F1 · Modul 14
Pengujian dengan pytest
51 langkah singkat, dari mudah sampai tantangan.
Level 1
Kenal
Level 2
Paham
Level 3
Terapkan
Level 4
Tantangan
Level 5
Pendalaman
Intinya
- Tes adalah fungsi biasa berisi
assert;pytestmenemukan berkastest_*.pydan fungsitest_*lalu menjalankan semuanya. pytest.raisesmenguji galat,parametrizemenjalankan banyak kasus sekaligus, dantmp_pathmemberi folder sementara untuk tes berkas.- Nilai harapan harus datang dari luar kode (kontrak, contoh, hitungan tangan), bukan dari rumus yang sama.
- Uji tesmu dengan merusak kode dengan sengaja: tes yang tetap hijau tidak menjaga apa-apa.
- Siklus kecil: tulis tes yang gagal, buat lulus, lalu rapikan.
Sebelum mulai
±5 jam (termasuk lab di komputermu).
Modul ini memakai materi di bawah. Belum yakin? Ulas dulu bagian yang disebut.
Hasil belajar: menjelaskan kenapa tes otomatis dibutuhkan; memasang pytest di venv dan menjalankannya dari folder proyek; menulis tes dengan assert dan membaca laporan kegagalannya; menguji galat dengan pytest.raises; menulis banyak kasus sekaligus dengan parametrize; memakai fixture tmp_path, capsys, dan monkeypatch; memilih kasus uji yang benar-benar menangkap bug; serta menjalankan siklus kecil "tes dulu, baru kode".
Proyek: kasku langkah 14: paket tes pytest untuk kasku (tests/test_format.py, tests/test_data.py, tests/test_cli.py), plus latihan peramban "tulis tes yang menangkap bug".
Istilah di modul ini (48)
Ketuk istilah untuk melihat penjelasannya. Di materi, istilah bergaris titik membuka kartu yang sama. Semua istilah course
Bahan modul
Semua kode, latihan, dan data modul ini dalam satu zip, untuk dijalankan di laptop atau Google Colab.
- 21 contoh kode
- 8 berkas latihan + tes
Lihat isi zip
- BACA-DULU.txt
- contoh_f1_14_26.py
- contoh_f1_14_64.py
- contoh_f1_14_98.py
- contoh_f1_14_129.py
- contoh_f1_14_156.py
- contoh_f1_14_490.py
- contoh_f1_14_516.py
- contoh_f1_14_556.py
- contoh_f1_14_620.py
- contoh_f1_14_1016.py
- contoh_f1_14_1232.py
- contoh_f1_14_1286.py
- contoh_f1_14_1547.py
- contoh_f1_14_1570.py
- contoh_f1_14_1602.py
- contoh_f1_14_1684.py
- contoh_f1_14_2381.py
- contoh_f1_14_2440.py
- contoh_f1_14_2477.py
- contoh_f1_14_2506.py
- contoh_f1_14_2760.py
- test_f1_14_1.py
- test_f1_14_2.py
- test_f1_14_3.py
- test_f1_14_4.py
- test_f1_14_7.py
- test_f1_14_5.py
- test_f1_14_6.py
- test_f1_14_8.py