Skip to content

Commit 29b6996

Browse files
CI: Ajout des tests unitaires automatiques (#22)
- Ajout des tests unitaires automatiques incluant un test de couverture - Ajout des tests sur les push de la branche develop - Les tests seront effectuées sur plusieurs versions de Python - Création d'un artéfact pour chaque version Python - Les artefacts contiennent les rapports de tests et de couverture
1 parent 86067d6 commit 29b6996

1 file changed

Lines changed: 49 additions & 0 deletions

File tree

.github/workflows/tests.yaml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: Tests unitaires - LogBuster
2+
3+
on:
4+
push:
5+
branches:
6+
- develop
7+
8+
# Permissions (lecture uniquement)
9+
permissions:
10+
contents: read
11+
12+
jobs:
13+
pytest:
14+
runs-on: ubuntu-latest
15+
strategy:
16+
matrix:
17+
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] # Liste des versions de Python à tester
18+
19+
steps:
20+
# Étape 1 : Cloner le dépôt
21+
- name: Cloner le dépôt
22+
uses: actions/checkout@v4
23+
24+
# Étape 2 : Installer Python
25+
- name: Installer Python ${{ matrix.python-version }}
26+
uses: actions/setup-python@v4
27+
with:
28+
python-version: ${{ matrix.python-version }}
29+
30+
# Étape 3 : Installer les dépendances
31+
- name: Installer les dépendances
32+
run: |
33+
python -m pip install --upgrade pip
34+
pip install pytest
35+
pip install pytest-cov
36+
37+
# Étape 4 : Lancer les tests unitaires
38+
- name: Lancer les tests unitaires
39+
run: |
40+
pytest tests/ --basetemp=resultats_pytest --verbose --cov=app --cov-report=term-missing --cov-report=xml:resultats_pytest/tests-couverture.xml --junitxml=resultats_pytest/tests-rapport.xml
41+
42+
# Étape 5 : Sauvegarder les artefacts
43+
- name: Sauvegarder les résultats de test
44+
if: always() # Sauvegarde même si les tests échouent
45+
uses: actions/upload-artifact@v4
46+
with:
47+
if-no-files-found: error
48+
name: tests-resultats-python-${{ matrix.python-version }} # Nom de l'artefact
49+
path: resultats_pytest # Eléments à sauvegarder

0 commit comments

Comments
 (0)