* 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.
title, category, language, tag
| title | category | language | tag | |
|---|---|---|---|---|
| Arrange/Act/Assert | Idiom | fr |
|
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 :
- Arrange : éffectuer la configuration et l'initialisation requises pour le test.
- Act : éffectuer la ou les actions requises pour le test.
- 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.