Παραμετροποιημένα (δεδομένα-κατευθυνόμενα) τεστ εκτελούν τη ίδια λογική δοκιμής με πολλαπλά σύνολα εισόδων και αναμενόμενων εξόδων — αποφεύγοντας τη διπλοτυπία του τεστ για κάθε περίπτωση. Καθιστούν εύκολο να δοκιμάσετε πολλά σενάρια (συμπεριλαμβανομένων των edge cases) συνοπτικά.
Το πρόβλημα: διπλοτυπία τεστ
Without parameterization, testing many input/output cases means COPYING the 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));
→ lots of near-identical, repetitive tests (tedious, hard to maintain)
