allure-framework / allure-framework/allure-python

Resolving 'fullName' Field Issue in Allure-Pytest: A Local Solution and Call for Official Adjustment

Ouverte
#751 0 commentaires 2 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Python
Étoiles
814
Forks
260
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

Hello, currently I am using Allure TestOps to manage my automated tests, and after much searching, I finally found a small issue that was not noticeable before in allure-pytest. The problem is that when I run tests with examples using (@pytest.mark.parametrize) with more than one test, at the end of the execution, the result.json file is filled with the "fullName" field containing only the test name without the examples appended. In other words, when I add the execution results to TestOps, it considers it as a single test instead of the multiple tests I have in the parametrize. Here's an example below:

![image](https://github.com/allure-framework/allure-python/assets/58951154/10e65dca-6f50-48ef-8b2c-51aaf4d2ded6)

After cloning the allure-python repository, I was able to identify that in the utils.py file of allure-pytest, on line 122, the method "allure_full_name" is located. What I did to test it locally was to modify the line that previously read:

test = item.originalname if isinstance(item, pytest.Function) else item.name.split("[")[0]

to:
test = item.name

After reinstalling the library locally, the issue was resolved as evidenced below:

![image](https://github.com/allure-framework/allure-python/assets/58951154/c271343c-eb72-4753-8d0f-0b50ae68b917)

I didn't encounter any functionality issues with allure-pytest after making this local modification. Can you make this adjustment officially in the library?

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez dans allure-pytest/utils.py, au niveau de la méthode allure_full_name vers la ligne 122, et reproduisez le problème avec un test pytest.mark.parametrize comportant plusieurs exemples. Inspectez le result.json généré et vérifiez que chaque résultat paramétré possède un fullName distinct afin que TestOps reconnaisse les tests séparément.

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

Évaluation

Stack technique
python
Domaine
testing
Type d'issue
Bug
Difficulté
2/5
Temps estimé
1-3 heures
Activité
À l'abandon
Clarté
Clairement spécifiée
Accessibilité débutants
55/100

Recevez les nouvelles issues par e-mail

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