Aide mémoire des bases avec pytest
Rappel du principe et des phases de test
Tester consiste à exécuter son code (appel à un callable) avec des données spécifiques au test et observer que l'état du système est tel qu'attendu.
Tester comporte 4 phases :
- Arrange
- Act
- Assert
- Cleanup
Principe des tests avec Pytest
Les tests sont des fonctions déclarées dans un package tests à la racine du projet.
Le code de test est dans un fichier source Python préfixé par test_.
Un test avec Pytest est une simple fonction dont le nom est préfixé par test_ et possédant au
moins une expression assert.
def test_something():
assert 5 + 5 == 10
Tester la levée d'exception
La levée d'exception se test avec le context manager fourni par pytest.
import pytest
def test_must_raise():
with pytest.raises(ValueError):
int("toto")
La discrimination des exceptions levées peut se faire avec le paramètre optionnel match=''.