Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Tests d'Intégration | Tests en Développement
Bibliothèque Java JUnit. Types de Tests
course content

Contenu du cours

Bibliothèque Java JUnit. Types de Tests

Bibliothèque Java JUnit. Types de Tests

1. Tests en Développement
2. Tests Unitaires
3. Exceptions

book
Tests d'Intégration

Dans le chapitre précédent, nous avons discuté des tests unitaires, où nous avons testé des modules individuels. Cependant, le programme peut ne pas fonctionner correctement si nous avons seulement testé des modules individuels de manière isolée. Les modules interagissent constamment entre eux; un module est utilisé dans un autre, le second dans le troisième, et ainsi de suite. Ces interactions entre les modules doivent également être testées, et ce niveau de test est appelé test d'intégration.

Par exemple, nous avons une classe Engine avec ses champs et méthodes, ainsi qu'une classe Car dans laquelle une instance de la classe moteur est créée en utilisant la composition. En d'autres termes, les méthodes de la classe voiture impliquent un objet de la classe moteur. Une intégration se produit, ce qui signifie que nous devons tester si cette intégration est effectuée correctement.

java

Engine

java

Car

copy
123456789101112131415
public class Engine { private boolean running; public void start() { running = true; } public void stop() { running = false; } public boolean isRunning() { return running; } }

Comme vous pouvez le voir, nous avons 2 classes ( vous pouvez basculer entre les fichiers ci-dessus ), chacune avec ses propres méthodes. Dans la classe Car, vous pouvez voir une instance de la classe Engine être créée. Cela s'appelle la composition. À l'intérieur des méthodes de la classe Car, nous utilisons les méthodes de la classe Engine, ce qui signifie que si quelque chose ne va pas dans la classe Engine, les méthodes de la classe Car casseront également. Voici donc l'algorithme de ce que nous devons faire :

  • Tout d'abord, nous devons tester toutes les méthodes de la classe Engine isolément ;
  • Ensuite, nous devons tester les méthodes de la classe Car ;
  • Ce test sera un test d'intégration puisque les méthodes de la classe Car utilisent les méthodes de la classe Engine ;
  • Si le test d'intégration est réussi, nous effectuons un test unitaire de la classe Car. (un tel test peut ne pas être nécessaire du tout si la classe Car n'a pas de méthodes qui n'utilisent pas une instance de la classe Engine.)

Dans notre exemple, nous n'aurons besoin que de tests d'intégration pour éviter de vous submerger avec des étapes inutiles. L'objectif de ce chapitre est de démontrer les tests d'intégration.

J'ai mis en évidence les blocs de code pour vous où les tests sont effectués avec des commentaires. Comme vous pouvez le voir, le test lui-même est simple et direct. Il n'y a rien de complexe dans un tel test, et cela montre que différents modules interagissent correctement les uns avec les autres.

Une démonstration d'un exemple exécutable :

java

main

copy
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
package com.example; public class Main { public static void main(String[] args) { Car car = new Car(); // Testing engine start car.startEngine(); if (car.isEngineRunning()) { System.out.println("Engine start test passed successfully."); } else { System.out.println("Engine start test failed."); } // Testing engine stop car.stopEngine(); if (!car.isEngineRunning()) { System.out.println("Engine stop test passed successfully."); } else { System.out.println("Engine stop test failed."); } } } class Engine { private boolean running; public void start() { running = true; } public void stop() { running = false; } public boolean isRunning() { return running; } } class Car { private Engine engine; public Car() { this.engine = new Engine(); } public void startEngine() { engine.start(); } public void stopEngine() { engine.stop(); } public boolean isEngineRunning() { return engine.isRunning(); } }

Ainsi, nous avons effectué un test d'intégration de base, démontrant que ces méthodes fonctionnent correctement ensemble. Les tests d'intégration ont été réussis, et les méthodes ont été testées avec succès. Super ! Nous approfondirons les tests d'intégration dans la troisième section de ce cours.

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 5
We're sorry to hear that something went wrong. What happened?
some-alt