← JavaScript68 / 69
Menguji error dengan toThrow
Untuk memeriksa bahwa fungsi melempar error, expect harus menerima fungsi, bukan hasil pemanggilannya: expect(() => bagi(1, 0)).toThrow(). Kalau kamu menulis expect(bagi(1, 0)), errornya terjadi sebelum expect berjalan dan test gagal dengan pesan yang menyesatkan. Kamu juga bisa memeriksa isi pesannya dengan toThrow('Pembagi tidak boleh nol'), berguna saat sebuah fungsi bisa melempar lebih dari satu jenis kesalahan.
👀 Contoh dulu
function ambilUmur(umur) {
if (umur < 0) throw new Error('Umur tidak valid');
return umur;
}
// ✅ expect menerima FUNGSI, jadi ia bisa menangkap errornya
it('menolak umur negatif', () => {
expect(() => ambilUmur(-1)).toThrow();
expect(() => ambilUmur(-1)).toThrow('Umur tidak valid');
});
// ❌ salah: error meledak sebelum expect berjalan
// expect(ambilUmur(-1)).toThrow();Hasilnya: ✓ menolak umur negatif
💡 Perhatikan () => di dalam expect. toThrow juga bisa diberi teks untuk memastikan pesan errornya benar.
📝 Sekarang giliranmu
Tulis test yang memeriksa bagi(10, 0) melempar error: expect(() => bagi(10, 0)).toThrow().
Preview