python / python/cpython

Augment functools.cached_property tests for set/delete

Aperta
#142,252 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

tests
Lingua principale
Python
Stelle
77.2k
Fork
35.9k
Metriche di merge delle PR
Metriche PR in attesa

Descrizione

cached_property supports set and delete but this is not currently tested.

Minimal test extending TestCachedProperty.test_cached:

class TestCachedProperty(unittest.TestCase):
    def test_cached(self):
        item = CachedCostItem()
        self.assertEqual(item.cost, 2)
        self.assertEqual(item.cost, 2) # not 3

        item.cost = 42
        self.assertEqual(item.cost, 42)

        del item.cost
        self.assertEqual(item.cost, 3)
        self.assertEqual(item.cost, 3) # not 4
Linked PRs
  • gh-142645
  • gh-143393

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia in Lib/test/test_functools.py, in TestCachedProperty.test_cached, la posizione indicata nell’issue. Esegui prima i test mirati di functools, quindi estendi questo test per coprire l’impostazione e l’eliminazione della cached property come mostrato. Il lavoro è completato quando le nuove assertions passano e il comportamento esistente della cached property continua a essere verificato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
testing-qa
Tipo di issue
Funzionalità
Difficoltà
1/5
Tempo stimato
Meno di un'ora
Stato di attività
Ferma
Chiarezza
Specificata chiaramente
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.