Factory (Test)

Testing 🟡 Mid

Dé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.

Termes liés

#testing#pattern#data

← → au clavier pour passer d'une fiche à l'autre