Support adding class variables to class through assignment
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 20.6k
- Forks
- 3.3k
- Métriques de merge des PR
- Métriques de PR en attente
Description
Mypy supports adding items to self during test setUp, which is great. However in many cases it's useful to be able to add items to the class during setUpClass (or Django's setUpTestData).
import unittest
class Tests(unittest.TestCase):
@classmethod
def setUpClass(cls) -> None:
cls.foo = 42 # "Type[Tests]" has no attribute "foo"
def test_foo(self) -> None:
print(self.foo) # "Tests" has no attribute "foo"
Adding a ClassVar allows for a workaround to this, however it would be nice if that wasn't needed.
Guide de contribution
Ouvrir 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.
Piste de recherche
Commencez par suivre la manière dont mypy gère les affectations à self dans setUp et les déclarations de variables de classe, puis examinez les tests couvrant ClassVar et les hooks de configuration de unittest. Définissez les diagnostics attendus pour cls.foo et self.foo dans setUpClass ou setUpTestData, et ajoutez des tests de régression ciblés montrant que les affectations prises en charge ne produisent plus d’erreurs d’attribut.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- devtools
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 30/100