AAA (Arrange-Act-Assert)
Testing 🟢 JuniorDefinition
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.