Repolode
tarpas

tarpas/pytest-testmon

Un plugin de pytest que vuelve a ejecutar solo las pruebas afectadas por los cambios recientes en el código, con un modo de vigilancia continua opcional.

Estrellas
1,034
Forks
87
Issues abiertos
38
Último commit
hace 5 días

¿Qué es?

pytest-testmon es un plugin de pytest que registra de qué código depende cada prueba y usa esa base de datos de dependencias para seleccionar solo las pruebas afectadas por cambios recientes. La primera vez que se ejecuta con --testmon, crea la base de datos en .testmondata; en las ejecuciones posteriores solo ejecuta las pruebas afectadas, lo que acorta los ciclos de retroalimentación en suites grandes.

El proyecto aborda la dificultad de determinar qué pruebas se ven afectadas en un lenguaje dinámico como Python, donde los grafos de importación estáticos no son suficientes. La documentación explica cómo rastrea las dependencias y qué fiabilidad tiene la selección. En combinación con pytest-watch, puede funcionar como un ejecutor continuo de pruebas que vuelve a ejecutar las pruebas adecuadas cada vez que se guarda un archivo.

El paquete se instala con pip y se activa con una sola opción: --testmon. El proyecto también ofrece un programa opcional en el que los mantenedores configuran testmon en los CI de proyectos de código abierto.

Funciones clave

  • 01Registra las dependencias entre las pruebas y el código en una base de datos local, .testmondata.
  • 02Vuelve a ejecutar solo las pruebas afectadas por cambios recientes en los archivos.
  • 03Funciona como plugin de pytest y se activa con la opción --testmon.
  • 04Se integra con pytest-watch para ejecutar pruebas continuamente cada vez que se guarda un archivo.

Casos de uso

  • Acelerar las ejecuciones locales de pruebas en proyectos grandes de Python con una suite de pytest lenta.
  • Ejecutar un subconjunto de pruebas rápidamente durante el desarrollo activo.
  • Configurar pruebas continuas que vuelvan a ejecutar las pruebas afectadas con cada cambio.

Inicio rápido

  1. 1

    Instala el complemento con pip

    pip install pytest-testmon
  2. 2

    Crea la base de datos de dependencias (se guarda en .testmondata)

    pytest --testmon
  3. 3

    Modifica parte del código (con cobertura de pruebas)

  4. 4

    Ejecuta solo las pruebas afectadas por los cambios recientes

    pytest --testmon

Antes de usarlo

  • La selección depende del seguimiento de dependencias, por lo que su fiabilidad depende de cómo esté estructurado el código.

En colecciones

Temas

Preguntas frecuentes

¿Qué es pytest-testmon?
Un plugin de pytest que vuelve a ejecutar solo las pruebas afectadas por los cambios recientes en el código, con un modo de vigilancia continua opcional. pytest-testmon es un plugin de pytest que registra de qué código depende cada prueba y usa esa base de datos de dependencias para seleccionar solo las pruebas afectadas por cambios recientes. La primera vez que se ejecuta con --testmon, crea la base de datos en .testmondata; en las ejecuciones posteriores solo ejecuta las pruebas afectadas, lo que acorta los ciclos de retroalimentación en suites grandes.
¿pytest-testmon es gratuito? ¿Qué licencia tiene?
pytest-testmon es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿pytest-testmon sigue mantenido?
Mantenimiento activo. El último commit de pytest-testmon fue el 2 nov 2026.
¿Para qué puedo usar pytest-testmon?
Acelerar las ejecuciones locales de pruebas en proyectos grandes de Python con una suite de pytest lenta. Ejecutar un subconjunto de pruebas rápidamente durante el desarrollo activo. Configurar pruebas continuas que vuelvan a ejecutar las pruebas afectadas con cada cambio.
¿Cómo se instala pytest-testmon?
Instala el complemento con pip: pip install pytest-testmon Crea la base de datos de dependencias (se guarda en .testmondata): pytest --testmon Modifica parte del código (con cobertura de pruebas) Ejecuta solo las pruebas afectadas por los cambios recientes: pytest --testmon
¿Dónde consigo pytest-testmon?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/tarpas/pytest-testmon

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados