Test d'unité de la classe Student Java

JavaBeginner
Pratiquer maintenant

Introduction

Dans ce projet, vous allez apprendre à écrire des tests unitaires pour une classe Student simple à l'aide du framework de test JUnit. Le projet consiste à configurer l'environnement de test, à écrire des cas de test pour les méthodes get et set de la classe Student, et à vérifier la correction de la mise en œuvre.

🎯 Tâches

Dans ce projet, vous allez apprendre :

  • Comment importer la dépendance JUnit dans le projet
  • Comment configurer la classe StudentTest et initialiser un objet Student pour les tests
  • Comment écrire des cas de test pour les méthodes get de la classe Student
  • Comment écrire des cas de test pour les méthodes set de la classe Student

🏆 Réalisations

Après avoir terminé ce projet, vous serez capable de :

  • Configurer un environnement de test à l'aide de Maven et de JUnit
  • Écrire des tests unitaires efficaces pour une classe Java
  • Vérifier la correction de la mise en œuvre à l'aide de cas de test
  • Appliquer les meilleures pratiques pour écrire du code maintenable et fiable

Importer la dépendance JUnit

Dans cette étape, vous allez apprendre à importer la dépendance JUnit dans le projet.

  1. Ouvrez le fichier pom.xml situé dans le répertoire ~/project/StudentClass.
  2. Ajoutez la dépendance suivante à l'intérieur de la section <dependencies> :
<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.11</version>
  <scope>test</scope>
</dependency>

Cela ajoutera la dépendance JUnit 4 au projet, qui est nécessaire pour écrire et exécuter les tests unitaires.

Configurer la classe de test Student

Dans cette étape, vous allez apprendre à configurer la classe StudentTest et à initialiser un objet Student pour les tests.

  1. Ouvrez le fichier StudentTest.java situé dans le répertoire ~/project/StudentClass/src/test/java/com/labex.
  2. Ajoutez la méthode annotée @Before suivante à la classe StudentTest :
private Student studentTest;

@Before
public void setUp() {
    studentTest = new Student("Tom", "male", 25);
}

Cette méthode setUp() sera exécutée avant chaque méthode de test, et elle créera un nouvel objet Student avec le nom, le sexe et l'âge donnés.

Écrire des tests pour les méthodes get et set

Dans cette étape, vous allez écrire des tests pour vérifier les méthodes get et set de la classe Student.

  1. Ajoutez les méthodes de test suivantes à la classe StudentTest :
@Test
public void testGetName() {
    assertEquals("Tom", studentTest.getName());
}

@Test
public void testGetAge() {
    assertEquals(25, studentTest.getAge());
}

@Test
public void testGetSex() {
    assertEquals("male", studentTest.getSex());
}

Ces tests vous permettent de vous assurer que les méthodes getName(), getAge() et getSex() de la classe Student fonctionnent correctement.

  1. Ajoutez les méthodes de test suivantes à la classe StudentTest :
@Test
public void testSetName() {
    studentTest.setName("Jimmy");
    assertEquals("Jimmy", studentTest.getName());
}

@Test
public void testSetAge() {
    studentTest.setAge(26);
    assertEquals(25, studentTest.getAge()); // L'âge devrait rester inchangé
}

@Test
public void testSetSex() {
    studentTest.setSex("female");
    assertEquals("female", studentTest.getSex());
}

Ces tests vous permettent de vous assurer que les méthodes setName(), setAge() et setSex() de la classe Student fonctionnent correctement.

Exécuter le cas de test

Pour exécuter le cas de test, suivez ces étapes :

  1. Dans votre terminal, accédez au répertoire du projet StudentClass en utilisant la commande suivante :
cd ~/project/StudentClass/
  1. Exécutez la commande suivante pour exécuter le cas de test :
mvn test

La sortie devrait être similaire à ce qui suit :

[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running com.labex.StudentTest
[INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.099 s - in com.labex.StudentTest
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  4.237 s
[INFO] Finished at: 2024-05-12T12:23:30Z
[INFO] ------------------------------------------------------------------------

Ces tests vous permettent de vous assurer que les méthodes de la classe Student, telles que getName, getAge, getSex, setName, setAge et setSex, fonctionnent correctement en validant leur comportement attendu à l'aide d'assertions.

Résumé

Félicitations ! Vous avez terminé ce projet. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.

✨ Vérifier la solution et pratiquer✨ Vérifier la solution et pratiquer✨ Vérifier la solution et pratiquer✨ Vérifier la solution et pratiquer