DY

04 Tests unitaires

Nos premiers tests unitaires en JAVA

Approche TDD

Le but de cette partie est d'implanter la loi d'Ohm en utilisant l'approche TDD.

La loi d'Ohm ?

Cest une loi physique empirique qui lie l'intensité du courant électrique traversant un dipôle électrique à la tension à ses bornes. Cette loi permet de déterminer la valeur d'une résistance. La loi d'Ohm a été ainsi nommée en référence au physicien allemand Georg Simon Ohm qui la publie en 1827, dans son œuvre Die galvanische Kette: mathematisch bearbeitet.

Énoncé de la loi d'Ohm

On note :

La loi d'Ohm établit que : U = R x I

Loi d'ohm

Utilisation de la loi

Selon son expression et les grandeurs connues, la loi d’Ohm permet d’obtenir différentes grandeurs :

Création de la class OhmLaw

Nous allons créer la classe OhmLaw ainsi que la signature des méthodes (nous n'allons pas encore les implémenter). Pour le corps des méthodes utiliser:

throw new UnsupportedException();
Unit UML class diagram
Diagramme UML de classe OhmLaw
Création de notre classe de test

center

Créer une classe héritant de JUnitTest en utilisant le menu contextuelle et en filtrant les items par le mot test.

package delahayeyoursel.physic;

import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;

public class OhmLawTest {

    public OhmTest() {
    }

    @BeforeAll
    public static void setUpClass() {
    }

    @AfterAll
    public static void tearDownClass() {
    }

    @BeforeEach
    public void setUp() {
    }

    @AfterEach
    public void tearDown() {
    }

    // TODO add test methods here.
    // The methods must be annotated with annotation @Test. For example:
    //
    // @Test
    // public void hello() {}

    @Test
    public void testCalculer()
    {
        assertEquals(, LoiOhm.calculer); //TODO complete this line
    }
}

À vous de jouer ! Tester les trois méthodes de la classe OhmLaw puis implanter ces méthodes.