Introducció

La integració contínua (CI) és una pràctica de desenvolupament de programari on els desenvolupadors integren el seu codi en un repositori compartit diverses vegades al dia. Cada integració és verificada per una build automatitzada, incloent tests automatitzats, per detectar errors tan aviat com sigui possible. JUnit és una eina clau en aquest procés, ja que permet executar tests automatitzats de manera eficient.

Beneficis de la Integració Contínua

  • Detecció Primerenca d'Errors: Els errors es detecten ràpidament, facilitant la seva correcció.
  • Millora de la Qualitat del Codi: Els tests automatitzats asseguren que el codi compleix amb els requisits especificats.
  • Reducció del Temps de Feedback: Els desenvolupadors reben feedback immediat sobre els canvis introduïts.
  • Facilita la Col·laboració: Els equips poden treballar de manera més coordinada i eficient.

Configuració de la Integració Contínua amb JUnit

  1. Selecció d'una Eina de CI

Hi ha diverses eines de CI disponibles, com ara Jenkins, Travis CI, CircleCI, GitLab CI, entre d'altres. En aquest exemple, utilitzarem Jenkins.

  1. Instal·lació de Jenkins

  1. Descarregar Jenkins:

  2. Instal·lar Jenkins:

    • Segueix les instruccions d'instal·lació proporcionades a la pàgina de descàrrega.
  3. Iniciar Jenkins:

    • Un cop instal·lat, inicia Jenkins i accedeix a la interfície web a través de http://localhost:8080.

  1. Configuració del Projecte a Jenkins

  1. Crear un Nou Projecte:

    • A la pàgina principal de Jenkins, selecciona "New Item" i crea un nou projecte de tipus "Freestyle project".
  2. Configurar el Repositori de Codi:

    • A la secció "Source Code Management", selecciona "Git" i proporciona l'URL del teu repositori.
  3. Configurar els Triggers de Build:

    • A la secció "Build Triggers", selecciona "Poll SCM" i especifica la freqüència amb què Jenkins ha de verificar els canvis al repositori (per exemple, H/5 * * * * per verificar cada 5 minuts).
  4. Afegir un Pas de Build per Executar els Tests:

    • A la secció "Build", afegeix un pas de build de tipus "Invoke Gradle script" o "Invoke Ant" (segons l'eina de build que utilitzis).
    • Especifica la tasca de build que executarà els tests, per exemple, test per a Gradle o test per a Ant.

  1. Executar i Verificar els Tests

  1. Executar el Build:

    • Des de la pàgina del projecte a Jenkins, selecciona "Build Now" per iniciar una build manualment.
  2. Verificar els Resultats:

    • Un cop completada la build, revisa els resultats dels tests a la secció "Console Output" i "Test Result".

Exemple de Configuració de Build amb Gradle

// build.gradle
plugins {
    id 'java'
}

repositories {
    mavenCentral()
}

dependencies {
    testImplementation 'org.junit.jupiter:junit-jupiter:5.7.0'
}

test {
    useJUnitPlatform()
}

Exemple de Configuració de Build amb Maven

<!-- pom.xml -->
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.example</groupId>
    <artifactId>example-project</artifactId>
    <version>1.0-SNAPSHOT</version>
    <dependencies>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <version>5.7.0</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>5.7.0</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.22.2</version>
            </plugin>
        </plugins>
    </build>
</project>

Exercici Pràctic

Objectiu

Configurar un projecte de CI amb Jenkins per executar tests de JUnit automàticament.

Passos

  1. Instal·la Jenkins i crea un nou projecte.
  2. Configura el repositori de codi i els triggers de build.
  3. Afegeix un pas de build per executar els tests amb Gradle o Maven.
  4. Executa una build manualment i verifica els resultats dels tests.

Solució

  1. Instal·lació de Jenkins:

    • Segueix les instruccions proporcionades anteriorment.
  2. Creació i Configuració del Projecte:

    • Crea un nou projecte de tipus "Freestyle project".
    • Configura el repositori de codi i els triggers de build.
  3. Configuració del Pas de Build:

    • Afegeix un pas de build per executar els tests amb Gradle o Maven, segons el teu projecte.
  4. Execució i Verificació:

    • Executa una build manualment i revisa els resultats dels tests a la secció "Console Output" i "Test Result".

Conclusió

La integració contínua amb JUnit és una pràctica essencial per assegurar la qualitat i la fiabilitat del codi. Mitjançant l'ús d'eines com Jenkins, és possible automatitzar el procés de build i test, proporcionant feedback immediat als desenvolupadors i facilitant la detecció primerenca d'errors. Amb aquesta configuració, el teu equip podrà treballar de manera més eficient i col·laborativa, millorant la qualitat del producte final.

© Copyright 2024. Tots els drets reservats