Un framework de testing para Python que facilita escribir pruebas pequeñas y escalar a pruebas funcionales complejas para aplicaciones y bibliotecas.
gabrielcnr/pytest-datadir
Un plugin de pytest que copia directorios con datos de prueba a carpetas temporales para que las pruebas puedan leer y modificar archivos de forma segura.
- Estrellas
- 277
- Forks
- 28
- Issues abiertos
- 8
- Último commit
- hace 4 días
¿Qué es?
pytest-datadir permite que las pruebas accedan a archivos de datos almacenados junto a ellas. De forma predeterminada, un módulo de prueba llamado test_hello.py puede usar el directorio test_hello/ correspondiente mediante el fixture datadir, mientras que una carpeta data/ en el nivel superior queda disponible mediante shared_datadir. Ambos fixtures devuelven objetos pathlib.Path, por lo que las pruebas pueden usar operaciones estándar con rutas para leer archivos.
El contenido del directorio de datos se copia a una ubicación temporal para cada prueba. Las pruebas pueden crear o modificar archivos sin afectar a los fixtures originales ni a otras pruebas. Los fixtures lazy_datadir y lazy_shared_datadir, añadidos en la versión 1.7.0, copian los archivos solo cuando se accede a ellos mediante joinpath o el operador /, lo que evita copiar directorios grandes que la prueba no utiliza.
Funciones clave
- 01Expone un directorio de datos específico del módulo mediante el fixture datadir.
- 02Proporciona un directorio de datos compartido mediante el fixture shared_datadir.
- 03Copia los datos en una carpeta temporal para mantener intactos los archivos originales.
- 04Ofrece lazy_datadir y lazy_shared_datadir para copiar archivos solo cuando se accede a ellos.
- 05Los fixtures devuelven objetos pathlib.Path.
Casos de uso
- Almacenar archivos de entrada de muestra o fixtures para pruebas de analizadores y procesamiento de archivos.
- Escribir pruebas que creen o modifiquen archivos sin alterar los fixtures de origen.
- Compartir datos de prueba comunes entre varios módulos de prueba mediante una única carpeta global de datos.
Antes de usarlo
- Los metadatos del repositorio indican que la licencia es NOASSERTION, mientras que el README indica MIT. Verifica la licencia antes de usarlo.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es pytest-datadir?
- Un plugin de pytest que copia directorios con datos de prueba a carpetas temporales para que las pruebas puedan leer y modificar archivos de forma segura. pytest-datadir permite que las pruebas accedan a archivos de datos almacenados junto a ellas. De forma predeterminada, un módulo de prueba llamado test_hello.py puede usar el directorio test_hello/ correspondiente mediante el fixture datadir, mientras que una carpeta data/ en el nivel superior queda disponible mediante shared_datadir. Ambos fixtures devuelven objetos pathlib.Path, por lo que las pruebas pueden usar operaciones estándar con rutas para leer archivos.
- ¿pytest-datadir es gratuito? ¿Qué licencia tiene?
- pytest-datadir es open source bajo la licencia Other. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿pytest-datadir sigue mantenido?
- Mantenimiento activo. El último commit de pytest-datadir fue el 3 nov 2026.
- ¿Para qué puedo usar pytest-datadir?
- Almacenar archivos de entrada de muestra o fixtures para pruebas de analizadores y procesamiento de archivos. Escribir pruebas que creen o modifiquen archivos sin alterar los fixtures de origen. Compartir datos de prueba comunes entre varios módulos de prueba mediante una única carpeta global de datos.
- ¿Dónde consigo pytest-datadir?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/gabrielcnr/pytest-datadir
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Paquete de Python que genera datos ficticios, como nombres, direcciones y textos, para poblar bases de datos, hacer pruebas y anonimizar datos.
Una biblioteca de Python que genera datos ficticios pero realistas, como nombres, direcciones, correos electrónicos y valores financieros, en 47 idiomas y regiones.
Una biblioteca de Python que graba las interacciones HTTP durante las pruebas y las reproduce después para que se ejecuten sin conexión y de forma determinista.
Un plugin de pytest que ejecuta pruebas en paralelo en varias CPU y añade un modo para repetir las que fallan.
Plugin de pytest que permite escribir funciones de prueba como corutinas y usar await directamente para probar código con asyncio.