python / python/cpython

Allow accessing all arguments by name on mock call objects

Offen
#95,839 2 Kommentare 3 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

stdlib type-feature
Vorherrschende Sprache
Python
Sterne
77.2k
Forks
36k
Ø Merge
1 T. 9 Std.
Gemergte PRs (30 T.)
558

Beschreibung

Feature or enhancement

Currently, call objects from the unittest.mock library only provide a tuple of positional arguments and a dictionary of keyword arguments passed to the function. It should be possible to enable accessing all arguments by name, not just the keyword arguments. The Signature object can help with this: https://docs.python.org/3/library/inspect.html#introspecting-callables-with-the-signature-object.

Pitch

For more robust and readable testing code.

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 damit, das Verhalten von call-Objekten in unittest.mock und die verknüpfte Dokumentation zu inspect.Signature zu lesen. Bestimme, wie der Zugriff auf Positionsargumente anhand ihres Namens neben dem bestehenden Tupel der Positionsargumente und dem Schlüsselwortargument-Dictionary funktionieren soll, und definiere anschließend die erwartete API und Tests, die einen lesbaren Zugriff auf benannte Argumente demonstrieren.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
testing
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
30/100

Neue Issues direkt in Ihr Postfach

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