[py] consequences of allowing snapshots based on repr
- Lingua principale
- Kotlin
- Stelle
- 101
- Fork
- 18
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
Python has a very cool `repr()` method, which returns the source code required to create the object. Not everything implements it, but Python's core datastructures do.
For inline snapshots it's pretty easy - we call `repr()` on argument, and put that inside the `to_be()` call.
For disk snapshots, we would have to read the value from the snapshot, call `eval()` on that string, and then hope that the comparison logic is implemented correctly.
In both cases, it muddies the concept of equality a bit, but allowing repr is so convenient that it's worth it.

Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
La issue riguarda gli snapshot inline che usano repr() e gli snapshot su disco che leggono i valori con eval(), ma non indica file o test. Inizia individuando i percorsi di confronto degli snapshot inline e su disco, quindi determina come devono essere gestiti i valori basati su repr() e come viene convalidata l’uguaglianza. Il lavoro è completo quando esistono un comportamento concordato e la relativa copertura per entrambe le modalità di snapshot.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- testing
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100