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.