• 10 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 09/02/2021

Vérifiez votre pratique de JUnit et de Mockito

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Compétences évaluées

  • Affiner des tests unitaires

Description

Ce quiz prend la forme d'une analyse d'un code réel, basé sur l'exemple fil rouge du calculateur. Sur le dépôt GitHub servant de fil rouge à cours, placez-vous dans la branche p2quiz. Si vous souhaitez partir d'un nouveau dépôt local, à partir d'un nouveau dossier, effectuez un nouveau clone :

git clone https://github.com/geoffreyarthaud/oc-testing-java-cours.git

puis placez-vous dans la bonne branche :

git checkout p2quiz

Cette branche reprend le code tel qu'il doit être à la fin de cette partie, avec quelques classes en plus : un calculateur de conversion entre unités de température ou de volume, les classes de données associées, un service associé, et des test unitaires servant de base aux questions qui vont suivre.

Ce quiz sous forme de TP peut vous prendre plus de temps qu'un quiz de cours habituel. C'est normal ! Bon courage !

 

  • Question 1

    Ouvrez le fichier source de test ConversionCalculatorTest.java dans src/test/java et dans le paquetage com.openclassrooms.testing.calcul.domain. Cette classe utilise les tags de test. Que pouvez-vous dire sur les tags de ces tests ?

    Attention, plusieurs réponses sont possibles.
    • La méthode de test fahrenheitToCelsius_returnsACelciusTemperature n'est associée qu'au tag "VersSystemeSI".

    • Tous les tests de cette classe sont associés au tag "ConversionTests".

    • Deux tests sont associés au tag "TemperatureTests".

    • La méthode radiusToAreaOfCircle_returnsPi n'est associée à aucun tag.

  • Question 2

    Exécutez les tests de la classe ConversionCalculatorTest. Que se passe-t-il ?

    • Tous les tests échouent.

    • Le test celsiusToFahrenheit_returnsAFahrenheitTemperature échoue.

    • Le test gallonsToLitres_returnsEquivalentLitres échoue.

    • Le test radiusToAreaOfCircle_returnsPi échoue.

  • Question 3

    Le(s) test(s) échoue(nt) pour une raison qui vous échappe, mais vous pensez que le comportement du calculateur de conversion est correct. Que pouvez-vous faire temporairement pour faire passer les tests malgré tout ?

    • Insérer l'annotation @Nested à la ligne 48.

    • Insérer l'annotation @Disabled à la ligne 48.

    • Supprimer les annotations @Tag("VersSystemeSI").

    • Insérer l'annotation @Disabled à la ligne 15.