Fixture

Testing 🟢 Junior

Définition

Données de test prédéfinies utilisées pour mettre en place un état initial connu et reproductible avant chaque test. Peut être un fichier JSON, un seed de base de données, etc.

Analogie

Comme les décors d'une scène de théâtre : mis en place avant chaque représentation pour un contexte identique.

Exemple de code

// fixtures/users.json
// [{ "id": 1, "name": "Alice", "role": "admin" }]

beforeEach(async () => {
  await db.seed(require('./fixtures/users.json'));
});

afterEach(async () => {
  await db.cleanup();
});

Cas d'usage

Pour les tests d'intégration nécessitant un état de base de données connu et reproductible.

Anti-pattern

Partager des fixtures mutables entre tests, créant des dépendances et de l'ordre d'exécution.
#testing#fondamental#data

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