[py] consequences of allowing snapshots based on repr
- Lenguaje dominante
- Kotlin
- Estrellas
- 101
- Forks
- 18
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
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.

Guía de contribución
Línea de trabajo
El issue analiza snapshots inline que usan repr() y snapshots en disco que leen valores con eval(), pero no menciona archivos ni tests. Empieza localizando las rutas de comparación de los snapshots inline y en disco; después, determina cómo deben manejarse los valores basados en repr() y cómo se valida la igualdad. El trabajo estará completo cuando haya un comportamiento acordado y la cobertura correspondiente para ambos modos de snapshot.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- testing
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100