Testing adalah bagian dari budaya Go: perintah go test dan package testing tersedia bawaan tanpa framework pihak ketiga. Section ini membahas penulisan unit test, pola table-driven test yang idiomatik, subtest, helper, benchmark, fuzzing, contoh dokumen yang bisa diverifikasi, pengukuran coverage, hingga race detector.
Tulis test pertama dengan testing.T, t.Errorf, dan perintah go test.
Buka → # Table-Driven TestUji banyak kasus sekaligus dengan pola tabel yang idiomatik di Go.
Buka → # SubtestPecah test menjadi subtest bernama dengan t.Run untuk diagnosis yang presisi.
Buka → # Test HelperBuat test helper dengan t.Helper, kegagalan eksplisit, dan t.Cleanup.
Buka → # Test FixtureSiapkan data uji dan direktori sementara dengan t.TempDir.
Buka → # httptestUji handler HTTP tanpa server nyata dengan httptest.NewRecorder.
Buka → # BenchmarkUkur performa fungsi dengan testing.B dan go test -bench.
Buka → # Fuzz TestingTemukan input bermasalah dengan fuzzing bawaan go test -fuzz.
Buka → # Example TestDokumentasikan fungsi dengan contoh output yang diverifikasi otomatis.
Buka → # CoverageUkur cakupan test dengan go test -cover dan baca hasil coverprofile.
Buka → # Race DetectorTangkap data race sejak fase test dengan go test -race.
Buka → # Menguji Package dengan DependencyRancang dependency sebagai interface kecil agar mudah diganti fake saat test.
Buka →