Parameterized test (data-driven test) chạy cùng logic test với nhiều tập input và output mong đợi — tránh lặp lại test cho mỗi trường hợp. Chúng làm cho việc test nhiều kịch bản (kể cả edge case) trở nên dễ dàng và súc tích.
Vấn đề: test bị lặp lại
Không có parameterization, test nhiều trường hợp input/output nghĩa là COPY test:
test('add 2+3', () => expect(add(2,3)).toBe(5));
test('add 0+0', () => expect(add(0,0)).toBe(0));
test('add -1+1', () => expect(add(-1,1)).toBe(0));
→ nhiều test gần giống nhau, lặp lại (tẻ nhạt, khó bảo trì)
