Factory (Test)
Testing 🟡 MidDéfinition
Fonction qui génère des objets de test avec des valeurs par défaut sensibles et la possibilité de surcharger certains champs. Plus flexible que les fixtures statiques.
Analogie
Comme un moule a gâteau avec des options : le moule donne la forme de base, mais vous choisissez la garniture pour chaque gâteau.
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 générer des données de test variées sans dupliquer la création d'objets dans chaque test.
Anti-pattern
Créer des factories trop complexes avec trop de logique conditionnelle, devenant elles-mêmes source de bugs.