J'utilise py.test pour écrire des tests et dans mes tests j'utilise funcargs. Ces funcargs ont leurs propres configurations et démontages définies dans le conftest.py comme ceci:py.test: get KeyboardInterrupt pour appeler teardown
conftest.py:
def pytest_funcarg__resource_name(request):
def setup():
# do setup
def teardown():
# do teardown
Mon problème est quand quelqu'un utilise CTRL + C pour arrêter les exécutions de test, il laisse tout non-déchiré. Je sais qu'il y a un crochet pytest_keyboard_interrupt mais je ne sais pas quoi faire à partir de là.
Désolé pour la question noobish.
Merci beaucoup! Vous m'avez aidé à trouver la source du problème. Mon problème est quand 'KeyboardInterrupt' est soulevé pendant' setup'. Dans ce cas, «teardown» n'est pas appelé. Cela est raisonnable, je suppose, puisque «teardown» peut supprimer des choses qui devraient avoir été créées pendant la phase 'setup'. Mais cela peut laisser des choses dans un état sale. Comment gérez-vous cela? – Parham
@Parham: semble être un bon candidat pour un nouveau post de question. – Flimm