Exécution de tests avec GitHub Actions
Intégrez des tests unitaires et d’intégration automatisés à votre pipeline d’intégration continue afin de garantir la qualité du code et d’éviter les régressions.
Exécution de tests avec GitHub Actions est une leçon DevOps Bootcamp gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage DevOps Bootcamp, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours DevOps Bootcamp comprend 4 leçons au total.
Pourquoi automatiser les tests dans la CI ?
Imaginez que vous modifiez votre code et que vous sachiez immédiatement si vous avez cassé autre chose. C’est toute la puissance des tests automatisés dans votre chaîne CI !
L’intégration continue (CI) consiste à fusionner fréquemment les modifications du code dans un dépôt central. Les tests automatisés sont les garants de ce processus.
Ils détectent rapidement les bogues, fournissent un retour immédiat et renforcent la confiance dans chaque modification du code.
Types de tests dans votre chaîne
Lorsque nous parlons de tests automatisés, deux grands types reviennent souvent : les tests unitaires et les tests d’intégration.
- Tests unitaires : ils se concentrent sur de petites parties isolées de votre code, comme une seule fonction ou méthode. Ils sont rapides et permettent de cibler précisément les problèmes.
- Tests d’intégration : ils vérifient que les différentes parties de votre système fonctionnent correctement ensemble, par exemple lorsque votre code interagit avec une base de données ou une API.
Les deux sont essentiels pour garantir que votre logiciel est robuste et fiable.
Automatiser les tests avec GitHub Actions
GitHub Actions peut servir d’exécuteur de tests personnel en exécutant automatiquement vos tests chaque fois que vous envoyez du nouveau code.
Vous définissez un flux de travail qui précise quand l’exécuter, quel environnement utiliser et quelles commandes lancer.
Ainsi, chaque modification est validée de manière cohérente, sans intervention manuelle.
Préparer un projet Java pour les tests
Pour illustrer cela, nous utiliserons un projet Java simple géré avec Maven, un outil populaire d’automatisation de la compilation.
Maven aide à gérer les dépendances du projet et fournit des commandes pour compiler le code et exécuter les tests.
Notre projet comportera une classe Java simple et un test JUnit correspondant (sur le plan conceptuel).
Notre premier exemple de test exécutable
Voici une classe Java simple et un test élémentaire pour vérifier son fonctionnement. Pour simplifier, nous simulons un test unitaire sans configuration JUnit complète.
La méthode main joue le rôle de notre exécuteur de tests et vérifie que la méthode add fonctionne comme prévu.
Essayez de l’exécuter pour voir la sortie !
public class Calculator {
// Method to be tested
public int add(int a, int b) {
return a + b;
}
public static void main(String[] args) {
Calculator calc = new Calculator();
// Simulate a test case
int expected = 5;
int actual = calc.add(2, 3);
if (actual == expected) {
System.out.println("Test Passed: 2 + 3 = " + actual);
} else {
System.out.println("Test Failed: Expected " + expected + ", Got " + actual);
}
}
}Construire votre flux de travail de tests
Voyons maintenant à quoi ressemblerait un fichier de flux de travail GitHub Actions (.github/workflows/test.yml) pour exécuter nos tests.
Ce fichier YAML définit les étapes que GitHub Actions suivra pour configurer l’environnement et exécuter nos commandes de test.
Nous utiliserons la commande test de Maven pour exécuter les éventuels tests JUnit réels d’un projet.
name: Java CI with Maven
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
cache: maven
- name: Run Maven Tests
run: mvn test
Comprendre chaque étape du flux de travail
Décomposons les principales étapes de notre flux de travail de tests :
on: push / pull_request: déclenche le flux de travail lors de l’envoi de code ou de la création de demandes de fusion vers la branchemain.runs-on: ubuntu-latest: indique le système d’exploitation de la machine virtuelle (l’exécuteur) sur laquelle le flux de travail sera exécuté.actions/checkout@v4: action préconfigurée qui récupère le code de votre dépôt sur l’exécuteur.actions/setup-java@v4: autre action permettant d’installer le kit de développement Java (JDK) sur l’exécuteur.run: mvn test: c’est l’étape essentielle ! Elle exécute la commande Maven pour compiler votre code et lancer tous les tests définis.
Gérer les échecs de tests dans la CI
L’un des principaux avantages des tests CI est le retour immédiat. Si un test échoue, la tâche du flux de travail GitHub Actions échoue également.
Cela indique clairement que la récente modification du code a introduit un bogue ou une régression.
Vous pouvez ensuite examiner les journaux du flux de travail pour déterminer précisément quel test a échoué et pourquoi, afin de corriger rapidement les problèmes.
L’impact : qualité et confiance
Intégrer des tests automatisés à votre chaîne CI est une pierre angulaire du développement logiciel moderne.
Ce processus prévient activement les régressions, garantit une qualité constante du code et réduit considérablement le risque de déployer des fonctionnalités défectueuses.
Il renforce la confiance dans votre base de code et permet à votre équipe d’innover plus rapidement et de manière plus fiable.
Vérification du flux de travail de tests
Considérez un flux de travail GitHub Actions conçu pour exécuter des tests. Quel est l’objectif principal de l’étape run: mvn test dans un projet Java ?
Récapitulatif : les tests dans votre chaîne CI
Dans cette leçon, nous avons vu comment intégrer des tests automatisés à votre chaîne CI GitHub Actions.
Nous avons abordé :
- l’importance des tests automatisés pour la qualité du code ;
- la distinction entre les tests unitaires et les tests d’intégration ;
- la manière de structurer un flux de travail GitHub Actions pour exécuter des tests Java avec Maven ;
- la compréhension d’étapes de flux de travail telles que
checkoutetsetup-java; - le rôle essentiel de
mvn testdans l’exécution de vos tests ; - la manière dont GitHub Actions signale les échecs de tests.
Les tests automatisés sont essentiels pour détecter rapidement les bogues et maintenir une base de code robuste !
Questions Fréquemment Posées
La leçon « Exécution de tests avec GitHub Actions » est-elle gratuite ?
Oui — le texte complet de « Exécution de tests avec GitHub Actions » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours DevOps Bootcamp, passe à CoddyKit PRO. Le cours DevOps Bootcamp comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Exécution de tests avec GitHub Actions » ?
Intégrez des tests unitaires et d’intégration automatisés à votre pipeline d’intégration continue afin de garantir la qualité du code et d’éviter les régressions. Tu pratiques DevOps Bootcamp avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer DevOps Bootcamp ?
Aucune expérience préalable n'est requise. DevOps Bootcamp sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Exécution de tests avec GitHub Actions » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon DevOps Bootcamp ?
Oui. Chaque leçon DevOps Bootcamp inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Déclencheurs et événements des flux de travail
- Exécution de tests avec GitHub Actions
- Analyse statique et vérifications de la qualité du code
- Mettre en cache les dépendances pour accélérer les compilations