python / python/mypy

There are no tests for mypy.plugins.proper_plugin

Offen
#19,890 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

topic-developer topic-tests
Vorherrschende Sprache
Python
Sterne
20.6k
Forks
3.3k
PR-Merge-Kennzahlen
PR-Kennzahlen ausstehend

Beschreibung

There don't seem to be any tests for mypy.plugins.proper_plugin, which was manually tested for its addition in https://github.com/python/mypy/pull/16036.

Since mypy apparently owns this code, we should test it.

I've figured out this works as a unit test except that we can't import mypy.types in a unit test.

[case properPlugin]
# flags: --config=tmp/foo.ini
from mypy.types import Type, CallableType
result: Type | None = None
isinstance(result, CallableType)                      
[file foo.ini]
\[mypy]
plugins=mypy.plugins.proper_plugin
[builtins fixtures/isinstancelist.pyi]

I've recently realized this plugin parents its notes wrong, so I'd like to include a regression test for that, but I am having a hard time figuring out how to trigger it.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit mypy.plugins.proper_plugin und dem bereitgestellten Unit-Test-Fall und untersuche dann, wie sich das Verhalten der falsch zugeordneten Notizen auslösen lässt. Bestätige, wie sich die Import-Einschränkung von mypy.types auf den Testaufbau auswirkt, und betrachte die Arbeit als abgeschlossen, sobald die Tests das Plugin und das Regressionsszenario abdecken.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
devtools, testing-qa
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.