AAA (Arrange-Act-Assert)

Testing 🟢 Junior

Définition

Pattern de structuration des tests en 3 phases : Arrange (préparer les données), Act (exécuter l'action), Assert (vérifier le résultat). Rend les tests lisibles et uniformes.

Analogie

Comme une recette de cuisine : préparer les ingrédients (Arrange), cuisiner (Act), goûter et vérifier (Assert).

Exemple de code

test('applies 10% discount for VIP', () => {
  // Arrange
  const user = createUser({ vip: true });
  const cart = createCart({ total: 100 });
  // Act
  const finalPrice = applyDiscount(user, cart);
  // Assert
  expect(finalPrice).toBe(90);
});

Cas d'usage

Comme structure standard pour tous les tests unitaires afin de maintenir la lisibilité et la cohérence.

Anti-pattern

Mélanger Act et Assert dans la même ligne ou avoir plusieurs Act dans un seul test.
#testing#interview#principle

En entretien

  1. Explique-moi le pattern AAA dans un test.

    AAA découpe un test en trois phases : Arrange pour préparer les données, Act pour exécuter l'action testée, et Assert pour vérifier le résultat. Ça rend les tests lisibles et uniformes.

  2. Quelle erreur voit-on souvent dans le respect de cette structure ?

    Mélanger l'Act et l'Assert dans la même ligne, ou enchaîner plusieurs Act dans un seul test. Ça brouille ce qui est réellement testé et rend l'échec difficile à interpréter.

Fiche mise à jour le 2026-09-27

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