Support adding class variables to class through assignment
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 20.6k
- Forks
- 3.3k
- Métricas de merge de PR
- Métricas de PR pendientes
Descripción
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.
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Empieza rastreando cómo mypy gestiona las asignaciones a self en setUp y las declaraciones de variables de clase; después, inspecciona las pruebas que cubren ClassVar y los hooks de configuración de unittest. Define los diagnósticos esperados para cls.foo y self.foo en setUpClass o setUpTestData, y añade pruebas de regresión específicas que demuestren que las asignaciones compatibles ya no producen errores de atributo.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- devtools
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 30/100