allure-framework / allure-framework/allure-python

AssertionError vs Exception

Ouverte
#377 0 commentaires 8 réactions 0 personnes assignées Voir sur GitHub
task:new feature theme:pytest
Langage dominant
Python
Étoiles
814
Forks
260
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

Currently Allure fails only on AssertionError and all Exception is treated as Broken.
This is a good feature but pytest reports them as Fail. This causes a bit of confusion on the report status.

An intermediate approach can be to allow for option on what constitutes a fail.
A suggestion is to provide an API where one can register baseclasses that can be as failures. This provides for better control to use with infrastructures that can have some common analysis to look for additional failures.

```
def get_status(exception):
if exception:
if isinstance(exception, AssertionError) or isinstance(exception, pytest.fail.Exception):
return Status.FAILED
elif isinstance(exception, pytest.skip.Exception):
return Status.SKIPPED
return Status.BROKEN
else:
return Status.PASSED
```

=> Something like...

```
def get_status(exception):
if exception:
for base_class in allure.FailExceptionList:
if isinstance(exception, base_class):
return Status.FAILED
elif isinstance(exception, pytest.skip.Exception):
return Status.SKIPPED
return Status.BROKEN
else:
return Status.PASSED
```

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

L’issue ne nomme aucun fichier d’implémentation ni aucun test. Commencez par localiser le chemin existant de l’exception vers le statut représenté par get_status et son intégration avec pytest ; le travail est terminé lorsqu’il permet de configurer les classes de base des exceptions tout en préservant la gestion des statuts failed, skipped, broken et passed.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
testing-qa
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.