J'ai mis en place un pipeline CI (CI Gitlab si c'est important) pour mon dernier projet Python et ajouté plusieurs cas de test pour les choses que je veux encore implémenter. Dans chaque cas de test, je lève un NotImplementedError
puisque, bien, il n'a pas encore été implémenté.Supprimer un type spécifique d'exceptions dans le nez
import unittest
class GenericTest(unittest.TestCase):
def test_stuff(self):
"""I'll fill this in when I come around to it."""
raise NotImplementedError
Généralement, je veux que ces tests échouent, car ils ne fonctionnent pas encore correctement. Cependant, quand je pousse dans mon dépôt et que les tests sont exécutés sur le système CI, je voudrais sauter ces tests. Je sais déjà qu'ils vont «échouer» et qu'ils masquent les tests qui échouent.
Existe-t-il un moyen de supprimer ces exceptions, ou un type spécifique d'exception (comme IKnowThisWillFailError
), de sorte que les tests affectés ne soient pas comptés comme ayant échoué?
Vous soulevez vraiment l'erreur dans le test? Qu'en est-il de la création de la méthode dans l'application et augmenter l'erreur là, alors vous pouvez, sauf l'erreur dans le test jusqu'à ce que vous avez implémenté la fonctionnalité. –
@JanZeiseweis je le fais, car il teste la fonctionnalité qui doit être ajoutée à une fonction déjà existante et il (devrait) tester des cas de bords compliqués. Donc, pour augmenter l'erreur dans l'application, j'aurais besoin d'implémenter la détection et la gestion de cas de bord en premier. Je me rends compte que ce n'est pas une procédure TDD correcte, car cela rend le "test case" plus d'une tâche et un rappel que ce test est toujours manquant qu'un test réel. – m00am