J'ai un code dans lequel je travaille sur un dictionnaire et il peut arriver qu'une clé de ce dictionnaire ne soit pas défini. Donc, j'ai ajouté un try/except qui attrape l'exception si la clé n'existe pas et je retourne un joli message d'erreur pour expliquer à l'utilisateur ce qui se passe (tout se passe dans une méthode d'une classe, où tag
est passé par l'utilisateur).
try:
species = self.species[tag]
except KeyError:
print(f"Error: the species {tag} is not defined")
Mon problème vient au moment d'écrire un test unitaire sur ce bout de code. Comment vérifier que mon code retourne bien mon message d'erreur ? Je pourrais écrire un test qui fourni volontairement un tag
erroné et vérifie stdout, mais il faudrait alors le réécrire si je décide de changer mon message d'erreur... Ce qui ne me semble pas être la meilleure manière de faire.