`assert_trace` does not work correctly with functions that use the same decorator
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 35/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- python
- Domaine
- testing-qa
Piste de recherche
Commencez par l’implémentation de assert_trace du plugin pytest et reproduisez le comportement avec l’exemple de décorateur de l’issue. Ajoutez ou mettez à jour un test de régression montrant que l’appel de func_two ne satisfait pas une assertion pour func_one ; le travail est terminé lorsque le test montré échoue comme prévu, tandis que les assertions pour la fonction correcte continuent de réussir.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Bug report
What's wrong
Our assert_trace from pytest plugin doesn't work correctly when two or more different functions are using the same decorator, it not considers that those functions are different! See the example below:
def test_two_functios_using_same_decorator(returns: ReturnsAsserts):
def decorator(func):
def decorated(*args, **kwargs):
return func(*args, **kwargs)
return decorated
@decorator
def func_one():
return Success(42)
@decorator
def func_two():
return Success(42)
with returns.assert_trace(Success, func_one):
func_two()
That test should fail because we want to assert the Success creation inside func_one, but I'm calling func_two and the test is passing!
How is that should be
Our pytest plugin should consider that those functions are different!
System information
pythonversion: 3.9returnsversion: 0.16.0
- Langage dominant
- Python
- Étoiles
- 4.4k
- Forks
- 155
- Merge moyen
- 2 h 2 min
- PR mergées (30 j)
- 20
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de dry-python/returns
-
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
dry-python/returns#2394 · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
Composing 0-argument functionsOuverte
Difficulté 4/5 3-5 jours Accessibilité débutants 52/100
dry-python/returns#2365 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
dry-python/returns#2355 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
dry-python/returns#2295 · 4 commentaires · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
dry-python/returns#2253 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de dry-python/returns
Issues similaires
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 92/100
QuantEcon/lecture-python-programming#642 ·
Les mainteneurs répondent en général sous 1 jour
-
area/config area/profiles comp/cli needs-decision P3 sweeper:risk-compatibility type/feature
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
NousResearch/hermes-agent#133697 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement needs-triage
Difficulté 1/5 Moins d'une heure Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
core
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
vectorize-io/hindsight#5279 ·
Les mainteneurs répondent en général sous 1 jour