Pacote Python que envia resultados do coverage.py ao coveralls.io para publicar estatísticas de cobertura online.
tarpas/pytest-testmon
Plugin do pytest que executa novamente apenas os testes afetados pelas mudanças recentes no código, com modo de observação contínua opcional.
- Estrelas
- 1,034
- Forks
- 87
- Issues abertas
- 38
- Último commit
- há 5 dias
O que é?
pytest-testmon é um plugin do pytest que registra de qual código cada teste depende e usa esse banco de dependências para selecionar apenas os testes afetados pelas mudanças recentes. A primeira execução com --testmon cria o banco em .testmondata; nas execuções seguintes, apenas os testes afetados são executados, encurtando os ciclos de feedback em suítes grandes.
O projeto aborda a dificuldade de determinar quais testes foram afetados em uma linguagem dinâmica como Python, na qual grafos estáticos de importação não são suficientes. A documentação explica como as dependências são rastreadas e quão confiável é a seleção. Em conjunto com pytest-watch, ele pode funcionar como um executor contínuo de testes que roda novamente os testes apropriados a cada salvamento.
O pacote é instalado com pip e ativado com uma única flag, --testmon. O projeto também mantém um programa opcional no qual os mantenedores configuram o testmon no CI de projetos de código aberto.
Recursos principais
- 01Registra as dependências entre testes e código em um banco de dados local, .testmondata.
- 02Executa novamente apenas os testes afetados por mudanças recentes nos arquivos.
- 03Funciona como plugin do pytest, ativado com a flag --testmon.
- 04Pode ser usado com pytest-watch para executar testes continuamente a cada salvamento.
Casos de uso
- Acelerar a execução local de testes em um projeto Python grande com uma suíte lenta do pytest.
- Executar um subconjunto de testes rapidamente durante o desenvolvimento ativo.
- Configurar testes contínuos que executam novamente os testes afetados a cada mudança.
Início rápido
- 1
Instale o plugin com pip
pip install pytest-testmon - 2
Crie o banco de dados de dependências (salvo em .testmondata)
pytest --testmon - 3
Altere parte do seu código (com cobertura de testes)
- 4
Execute apenas os testes afetados pelas alterações recentes
pytest --testmon
Antes de usar
- A seleção depende do rastreamento de dependências, então a confiabilidade varia conforme a estrutura do código.
Em coleções
Tópicos
Perguntas frequentes
- O que é pytest-testmon?
- Plugin do pytest que executa novamente apenas os testes afetados pelas mudanças recentes no código, com modo de observação contínua opcional. pytest-testmon é um plugin do pytest que registra de qual código cada teste depende e usa esse banco de dependências para selecionar apenas os testes afetados pelas mudanças recentes. A primeira execução com --testmon cria o banco em .testmondata; nas execuções seguintes, apenas os testes afetados são executados, encurtando os ciclos de feedback em suítes grandes.
- pytest-testmon é gratuito? Qual é a licença?
- pytest-testmon é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- pytest-testmon ainda é mantido?
- Manutenção ativa. O último commit de pytest-testmon foi em 2 de nov. de 2026.
- Para que posso usar pytest-testmon?
- Acelerar a execução local de testes em um projeto Python grande com uma suíte lenta do pytest. Executar um subconjunto de testes rapidamente durante o desenvolvimento ativo. Configurar testes contínuos que executam novamente os testes afetados a cada mudança.
- Como instalar pytest-testmon?
- Instale o plugin com pip: pip install pytest-testmon Crie o banco de dados de dependências (salvo em .testmondata): pytest --testmon Altere parte do seu código (com cobertura de testes) Execute apenas os testes afetados pelas alterações recentes: pytest --testmon
- Onde consigo pytest-testmon?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/tarpas/pytest-testmon
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Uma biblioteca Python que grava interações HTTP feitas durante os testes e as reproduz depois, para que eles rodem offline e de forma determinística.
Plugin do pytest que executa testes em paralelo em várias CPUs e oferece um modo para repetir testes com falha.
Um plugin do pytest que permite escrever testes como corrotinas e usar await diretamente no código de teste.
Framework de BDD que executa arquivos de funcionalidades Gherkin como testes do pytest, sem precisar de um executor de testes separado.
Plugin do pytest que embaralha a ordem dos testes e redefine as seeds aleatórias para reproduzir falhas causadas pela ordem ou por dados aleatórios.