Les suites de test són una eina poderosa en JUnit que permeten agrupar i executar múltiples tests junts. Això és especialment útil quan es vol organitzar els tests en categories lògiques o quan es vol executar un conjunt específic de tests de manera conjunta. En aquest tema, explorarem què són les suites de test, com crear-les i com utilitzar-les de manera efectiva.

Què és una Suite de Test?

Una suite de test és una col·lecció de tests que es poden executar junts com una unitat. Les suites de test permeten:

  • Agrupar tests relacionats.
  • Executar un conjunt específic de tests.
  • Organitzar els tests de manera lògica.
  • Facilitar la gestió i manteniment dels tests.

Beneficis de les Suites de Test

  • Organització: Permeten agrupar tests relacionats, facilitant la seva gestió.
  • Eficàcia: Poden ajudar a identificar ràpidament quins tests fallen en un conjunt específic.
  • Flexibilitat: Permeten executar només un subconjunt de tests, estalviant temps durant el desenvolupament.

Creant una Suite de Test

Per crear una suite de test en JUnit, utilitzarem les anotacions @RunWith i @SuiteClasses. A continuació, es mostra un exemple pràctic de com crear una suite de test.

Exemple Pràctic

Suposem que tenim tres classes de test: TestClass1, TestClass2 i TestClass3. Volem crear una suite de test que executi tots els tests d'aquestes tres classes.

import org.junit.runner.RunWith;
import org.junit.runners.Suite;

@RunWith(Suite.class)
@Suite.SuiteClasses({
    TestClass1.class,
    TestClass2.class,
    TestClass3.class
})
public class TestSuite {
    // Aquesta classe roman buida. Només s'utilitza com a contenidor per a les anotacions.
}

Explicació del Codi

  • @RunWith(Suite.class): Indica que aquesta classe utilitza el Suite runner de JUnit.
  • @Suite.SuiteClasses: Llista les classes de test que formen part de la suite. En aquest cas, TestClass1, TestClass2 i TestClass3.

Executant una Suite de Test

Per executar una suite de test, simplement executem la classe de la suite com ho faríem amb qualsevol altra classe de test en JUnit. La suite s'encarregarà d'executar tots els tests de les classes especificades.

Exemple d'Execució

Si estem utilitzant un IDE com IntelliJ IDEA o Eclipse, podem fer clic dret sobre la classe TestSuite i seleccionar "Run". Això executarà tots els tests inclosos en la suite.

Exercici Pràctic

Exercici

  1. Crea tres classes de test: CalculatorTest, StringUtilsTest i DateUtilsTest.
  2. Escriu almenys un test en cadascuna d'aquestes classes.
  3. Crea una suite de test que inclogui aquestes tres classes de test.
  4. Executa la suite de test i verifica que tots els tests s'executen correctament.

Solució

CalculatorTest.java

import org.junit.Test;
import static org.junit.Assert.assertEquals;

public class CalculatorTest {
    @Test
    public void testAddition() {
        assertEquals(5, 2 + 3);
    }
}

StringUtilsTest.java

import org.junit.Test;
import static org.junit.Assert.assertTrue;

public class StringUtilsTest {
    @Test
    public void testIsEmpty() {
        assertTrue("".isEmpty());
    }
}

DateUtilsTest.java

import org.junit.Test;
import static org.junit.Assert.assertNotNull;
import java.util.Date;

public class DateUtilsTest {
    @Test
    public void testCurrentDate() {
        assertNotNull(new Date());
    }
}

TestSuite.java

import org.junit.runner.RunWith;
import org.junit.runners.Suite;

@RunWith(Suite.class)
@Suite.SuiteClasses({
    CalculatorTest.class,
    StringUtilsTest.class,
    DateUtilsTest.class
})
public class TestSuite {
    // Aquesta classe roman buida. Només s'utilitza com a contenidor per a les anotacions.
}

Conclusió

Les suites de test són una eina essencial per organitzar i executar múltiples tests de manera eficient. En aquest tema, hem après què són les suites de test, com crear-les i com utilitzar-les. Ara estàs preparat per organitzar els teus tests en suites i millorar la gestió dels teus projectes de test. En el següent tema, explorarem com crear i executar suites de test més complexes.

© Copyright 2024. Tots els drets reservats