Tests unitaires avec Pytest et Test Driven Development (TDD)

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
full-widthPodcast
1
Card Sorting

1/14

flashcard set

Earn XP

Description and Tags

Fiches de vocabulaire couvrant les principes, la syntaxe et les méthodes des tests unitaires avec Pytest ainsi que le cycle de développement orienté par les tests (TDD).

15 Terms

1
New cards

Test unitaire

Méthode de travail consistant à tester des petites parties de code (appelées unités, le plus souvent des fonctions ou des classes) de manière isolée pour vérifier que chaque élément constitutif est en bonne santé.

2
New cards

Test d'intégration

Type de test vérifiant que différentes unités de code fonctionnent correctement ensemble lors de cas d'usage réels, nécessitant souvent des données externes comme des bases de données ou des serveurs web.

3
New cards

TDD (Test Driven Development)

Approche de développement itérative dans laquelle les tests unitaires sont rédigés avant même l'implémentation du code de production correspondant.

4
New cards

Kent Beck

Auteur ayant popularisé le terme et la pratique du Test Driven Development (TDD) à travers des ouvrages démontrant les avantages de l'agilité et des tests automatisés.

5
New cards

Étape Red (TDD)

Première phase du cycle TDD consistant à identifier une fonctionnalité et à écrire son test unitaire, lequel doit obligatoirement échouer car la fonctionnalité n'est pas encore implémentée.

6
New cards

Étape Green (TDD)

Deuxième phase du cycle TDD consistant à écrire le minimum de code requis pour faire réussir le test précédemment échoué, en se concentrant sur l'efficacité sans chercher l'optimisation immédiate.

7
New cards

Étape Refactor (TDD)

Troisième phase du cycle TDD visant à nettoyer et optimiser le code produit tout en garantissant que l'ensemble des tests continue de passer avec succès.

8
New cards

Étape Repeat (TDD)

Quatrième phase du cycle TDD consistant à recommencer le cycle Red-Green-Refactor pour implémenter successivement toutes les fonctionnalités nécessaires.

9
New cards

Pytest

Framework de test automatisé sous Python, intuitif, qui requiert par convention que les fonctions de test commencent obligatoirement par le préfixe test_.

10
New cards

Unittest

Framework standard et historique d'automated testing intégré par défaut dans le langage Python.

11
New cards

Instruction assert

Instruction permettant de vérifier qu'une condition ou qu'un appel de fonction produit le résultat attendu (ex: assert fonction(arguments) == résultat attendu), levant une AssertionError en cas d'invalidation.

12
New cards

Effet secondaire (side effect)

Modification involontaire ou collatérale de l'environnement (comme la valeur d'une variable ou l'attribut d'une classe) provoquée par l'exécution d'une unité de code, pouvant nuire à l'isolation des tests.

13
New cards

pytest.raises

Gestionnaire de contexte de Pytest (with pytest.raises(Exception)) utilisé pour s'assurer qu'un bloc de code lève explicitement une exception ou une erreur précise.

14
New cards

Fixture (@pytest.fixture)

Décorateur de Pytest créant une fonction d'initialisation réutilisable, passée en argument aux fonctions de test et instanciée de nouveau à chaque test individuel.

15
New cards

Test paramétré (@pytest.mark.parametrize)

Décorateur de Pytest permettant de tester plusieurs scénarios d'entrées et de sorties attendues au sein d'une seule et même fonction de test.