Repolode
tarpas

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. 1

    Instale o plugin com pip

    pip install pytest-testmon
  2. 2

    Crie o banco de dados de dependências (salvo em .testmondata)

    pytest --testmon
  3. 3

    Altere parte do seu código (com cobertura de testes)

  4. 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