Test en quatre phases

Dan Croak
Traduit par Tresor Bireke
Cet article est également disponible en : English

Le test en quatre phases est un modèle de test, applicable à tous les langages de programmation et à tous les tests unitaires (mais pas aux tests d'intégration).

Il se présente sous la forme générale suivante :

test do
  setup
  exercise
  verify
  teardown
end

Le test comporte quatre phases distinctes. Elles sont exécutées de manière séquentielle.

configuration

Au cours de la configuration, le système à tester (généralement une classe, un objet ou une méthode) est mis en place.

user = User.new(password: 'password')

exercice

Pendant la phase d'exercice, le système testé est exécuté.

user.save

vérification

Pendant la vérification, le résultat de l'exercice est comparé aux attentes du développeur.

user.encrypted_password.should_not be_nil

démontage

Pendant le démontage, le système testé est remis dans son état initial.

Cette opération est généralement gérée implicitement par le langage (libération de la mémoire) ou le cadre de test (exécution à l'intérieur d'une transaction de base de données).

tous ensemble

Les quatre phases sont regroupées dans un test nommé qui peut être référencé individuellement.

Notre guide de style conseille de “Séparer les phases d'installation, d'exercice, de vérification et de démontage avec des lignes nouvelles”.

it 'encrypts the password' do
  user = User.new(password: 'password')

  user.save

  user.encrypted_password.should_not be_nil
end

Allez-y et testez par phases.