AAA (Arrange-Act-Assert)

Testing 🟢 Junior

Definition

Pattern de structuration des tests en 3 phases : Arrange (preparer les donnees), Act (executer l'action), Assert (verifier le resultat). Rend les tests lisibles et uniformes.

Analogie

Comme une recette de cuisine : preparer les ingredients (Arrange), cuisiner (Act), gouter et verifier (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 lisibilite et la coherence.

Anti-pattern

Melanger Act et Assert dans la meme ligne ou avoir plusieurs Act dans un seul test.
#testing#interview#principle