Factory (Test)
Testing 🟡 MidDefinition
Fonction qui genere des objets de test avec des valeurs par defaut sensibles et la possibilite de surcharger certains champs. Plus flexible que les fixtures statiques.
Analogie
Comme un moule a gateau avec des options : le moule donne la forme de base, mais vous choisissez la garniture pour chaque gateau.
Exemple de code
// factories/user.ts
export const createUser = (overrides = {}) => ({
id: faker.string.uuid(),
name: faker.person.fullName(),
email: faker.internet.email(),
role: 'user',
...overrides,
});
// Usage: createUser({ role: 'admin' })
Cas d'usage
Pour generer des donnees de test variees sans dupliquer la creation d'objets dans chaque test.
Anti-pattern
Creer des factories trop complexes avec trop de logique conditionnelle, devenant elles-memes source de bugs.