Files
believe 87a774c9d6 translation: Added french documentation for several patterns (#2617)
* translate Abstract Document documentation in french

* translate Abstract Document documentation in french for issue #2278

* french translation of abstract factory

* French translation for active-object

* translate Abstract Document documentation in french

* translate Abstract Document documentation in french for issue #2278

* french translation of abstract factory

* French translation for active-object

* tranlate to french: acyclic-visitore, adapter, aggregator-microservice, ambassador, api-gateway, arrange-act-assert, async-method-invocation, balking, bridge.
2024-01-27 13:20:32 +02:00
..

title, category, language, tag
title category language tag
Arrange/Act/Assert Idiom fr
Testing

Aussi connu sous le nom de

Given/When/Then

Intention

Arrange/Act/Assert (AAA) est un pattron d'organisation des tests unitaires. Il décompose les tests en trois étapes claires et distinctes :

  1. Arrange : éffectuer la configuration et l'initialisation requises pour le test.
  2. Act : éffectuer la ou les actions requises pour le test.
  3. Assert: Vérifier le(s) résultat(s) du test.

Explication

Ce pattron présente plusieurs avantages importants. Il crée une séparation claire entre la mise en place d'un test d'un test, les opérations et les résultats. Cette structure rend le code plus facile à lire et à comprendre. Si vous placez les étapes dans l'ordre et que vous formatez votre code source pour les séparer, vous pouvez parcourir un test et comprendre rapidement ce qu'il fait.

Il impose également un certain degré de discipline lors de l'écriture des tests. Vous devez penser clairement les trois étapes de votre test. Il est plus naturel d'écrire les tests en même temps, puisque vous avez déjà un plan.

Exemple

Pour écrire des tests unitaire clairs et compréhensibles.

En clair

Arrange/Act/Assert est un pattron de conception de tests qui organise les tests en trois étapes pour une maintenance facile.

WikiWikiWeb dit

Arrange/Act/Assert est un pattron pour organiser et formater un code dans les methodes de test unitaire.

Exemple de programme

Commençons par présenter notre classe Cash qui subira un test unitaire.

public class Cash {

  private int amount;

  Cash(int amount) {
    this.amount = amount;
  }

  void plus(int addend) {
    amount += addend;
  }

  boolean minus(int subtrahend) {
    if (amount >= subtrahend) {
      amount -= subtrahend;
      return true;
    } else {
      return false;
    }
  }

  int count() {
    return amount;
  }
}

Ensuite, nous rédigeons nos tests unitaires suivant le pattron Arrange/Act/Assert. Notez les étapes clairement séparées pour chaque test unitaire.

class CashAAATest {

  @Test
  void testPlus() {
    //Arrange
    var cash = new Cash(3);
    //Act
    cash.plus(4);
    //Assert
    assertEquals(7, cash.count());
  }

  @Test
  void testMinus() {
    //Arrange
    var cash = new Cash(8);
    //Act
    var result = cash.minus(5);
    //Assert
    assertTrue(result);
    assertEquals(3, cash.count());
  }

  @Test
  void testInsufficientMinus() {
    //Arrange
    var cash = new Cash(1);
    //Act
    var result = cash.minus(6);
    //Assert
    assertFalse(result);
    assertEquals(1, cash.count());
  }

  @Test
  void testUpdate() {
    //Arrange
    var cash = new Cash(5);
    //Act
    cash.plus(6);
    var result = cash.minus(3);
    //Assert
    assertTrue(result);
    assertEquals(8, cash.count());
  }
}

Application

Le pattron Arrange/Act/Assert peut être utilisé lorsque :

  • Vous avez besoin d'organiser vos tests unitaire pour qu'il soit facile à lire, maintenir et améliorer.

Crédits