Menguji edge case

Test untuk kasus normal (*happy path*) mudah dan jarang menemukan bug. Bug bersembunyi di edge case: array kosong, nilai nol, angka negatif, null, string kosong. Kalau kamu hanya punya waktu menulis dua test, tulis satu happy path dan satu edge case. Daftar edge case terbaik biasanya datang dari bug yang pernah terjadi di produksi, jadi biasakan menambah test setiap kali menemukan satu.

👀 Contoh dulu

function potong(teks, maks) {
  if (teks.length <= maks) return teks;
  return teks.slice(0, maks) + '…';
}

// happy path
it('memotong teks panjang', () => {
  expect(potong('abcdefg', 3)).toBe('abc…');
});

// edge case
it('tidak memotong teks yang sudah pendek', () => {
  expect(potong('ab', 5)).toBe('ab');
});

it('menangani teks kosong', () => {
  expect(potong('', 5)).toBe('');
});

Hasilnya: ✓ tiga test lolos

💡 Daftar edge case yang wajib dipikirkan: kosong, nol, negatif, satu elemen, nilai sama dengan batas, dan nilai sangat besar.

📝 Sekarang giliranmu

Tambahkan dua test edge case untuk total: array kosong harus toBe(0), dan array dengan angka negatif [-5, 5] harus toBe(0).

Preview