[JAVA] Comment exécuter JUnit dans Eclipse

Qu'est-ce que JUnit

Conditions préalables

ProjectA  ----  src
                 |
                 ------ xx.yy.zzz(paquet)
                            |
                            ------- Door.java (Classe testée)

Configuration

Créez une classe "DoorTest.java" pour tester Door.java (classe cible de test) sous le package xx.yy.zzz.

image.png

image.png

image.png

DoorTest.java


package xx.yy.zzz;  //Faites-en le même package que la classe testée

import static org.junit.Assert.*;

import org.junit.Test;

public class DoorTest {

	@Test
	public void test() {
		fail("Pas encore implémenté");
	}

}

image.png

image.png

Rédiger un programme de test

Classe testée

Door.java


package xx.yy.zzz;  //Faites-en le même package que la classe de test

public class Door {
	private boolean isOpen = false;

	public void open(String str) {
		if (str.equals("sésame ouvre-toi!")) {
			isOpen = true;
		} else {
                        isOpen = false;
			System.out.println("faux.");
		}
	}

	public void close() {
		isOpen = false;
	}

	// getter
	public boolean isOpen() {
		return isOpen;
	}

}

Tester le contenu

Classe d'essai

Door.java


package xx.yy.zzz;  //Faites-en le même package que la classe testée

import static org.junit.Assert.*;

import java.io.BufferedOutputStream;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class DoorTest {

	Door door;
    private ByteArrayOutputStream baos;

	//Prétraitement
	@Before
	public void setUp() {
		door = new Door();

        baos = new ByteArrayOutputStream();
        System.setOut(
            new PrintStream(
                new BufferedOutputStream(baos)
            )
        );
	}


	// 「@"Test" est une annotation que JUnit reconnaît comme méthode de test.
	//Créer avec un vide public
	@Test
	public void test1() {
		door.open("Ouvre la porte s'il te plaît");

		//Sortie standard
		System.out.flush();
		String expected = "faux.\r\n";
        String actual = baos.toString();

        //Confirmation avec valeur attendue
		assertEquals(false, door.isOpen());
        assertEquals(expected, actual);
	}

	@Test
	public void test2() {
		door.open("sésame ouvre-toi!");
		assertEquals(true, door.isOpen());
	}

	@Test
	public void test3() {
		door.close();
		assertEquals(false, door.isOpen());
	}

	//Post-traitement
	@After
	public void fin() {
		// DO Nothing
	}

}

[Supplément]

Recommended Posts

Comment exécuter JUnit dans Eclipse
Comment exécuter Ant dans Gradle
Comment définir Lombok dans Eclipse
Comment filtrer JUnit Test dans Gradle
Comment inclure Spring Tool dans Eclipse 4.6.3?
Comment fixer la date système dans JUnit
[Pour les débutants] Comment déboguer avec Eclipse
Pour déboguer avec Eclipse
[Java FX] Comment écrire des autorisations Eclipse dans build.gradle
Comment colorer la sortie de la console de code dans Eclipse
JUnit 5: Comment écrire des cas de test dans enum
Comment exécuter une tâche djUnit dans Ant
Comment générer automatiquement un constructeur dans Eclipse
Comment utiliser JUnit (débutant)
Comment écrire Junit 5 organisé
Comment utiliser Eclipse Debug_Shell
[Création] Comment utiliser JUnit
Comment basculer Tomcat context.xml avec Eclipse WTP
Comment utiliser la bibliothèque Z3 dans Scala avec Eclipse
Comment utiliser la bibliothèque JDD dans Scala avec Eclipse
Comment Git gérer les projets Java EE dans Eclipse
Comment exécuter Java EE Tutial sur github sur Eclipse
Comment déboguer le fichier jar généré avec Eclipse
Comment utiliser Lombok au printemps
Comment trouver May'n dans XPath
Comment masquer la barre de défilement dans WebView
Comment itérer indéfiniment en Ruby
Comment maîtriser la programmation en 3 mois
Pour exécuter JavaFX sur Docker
Comment apprendre JAVA en 7 jours
Comment obtenir des paramètres dans Spark
Comment définir le code de caractère et le code de saut de ligne dans Eclipse
Comment installer Bootstrap dans Ruby
Comment utiliser InjectorHolder dans OpenAM
Comment installer jQuery dans Rails 6
Comment utiliser les classes en Java?
Comment nommer des variables en Java
Comment déployer une application Java sur Alibaba Cloud EDAS dans Eclipse
java Eclips Comment déboguer javaScript
Comment exécuter JUnit par lots et obtenir une couverture
Comment concaténer des chaînes avec Java
Comment installer Swiper in Rails
[swift5] Comment spécifier la couleur en hexadécimal
Un mémorandum sur l'utilisation d'Eclipse
Comment implémenter le calcul de la date en Java
Comment implémenter le filtre de Kalman par Java
Prise en charge multilingue de Java Comment utiliser les paramètres régionaux
Comment utiliser Apache Derby sur Eclipse
Comment changer le nom de l'application dans les rails
Comment utiliser le volume nommé dans docker-compose.yml
Comment insérer une vidéo dans Rails
Comment normaliser le pied de page d'en-tête dans Thymeleaf
Comment installer Eclipse (Photon) sur votre Mac
Comment ajouter un fichier jar dans ScalaIDE