pytest-incremental é um corredor de teste incremental (pytest plugin).
O que é um "corredor de teste incremental"?
Ao falar sobre a build-ferramentas é comum para se referir aos termos:
- Compilação inicial (completo) - todos os arquivos são compilados
- Compilação incremental (ou reconstruir parcial) - só mudou arquivos são compilados
- Não-op build - nenhum arquivo é compilado (nenhum mudou desde a última execução)
Assim, um "corredor de teste incremental" só irá re-executar os testes que foram afetados por mudanças no código fonte desde a execução último teste.
Como funciona?
pytest-incremental é um plugin pytest. Então, se você pode executar o seu conjunto de testes com pytest você pode usar pytest-incremental.
O plugin irá analisar seus arquivos de origem python e através de suas importações definir as dependências dos módulos. doit é usado para manter o controle das dependências e salvar os resultados. O plugin irá modificar a forma como pytest recolher os seus testes. pytest fazer o resto do trabalho de realmente executar os testes e relatar os resultados.
Instalação:
pytest-incremental é testado em python 2.6, 2.7.
pip instalar pytest-incremental`
python setup.py install
instalação local
Você também pode simplesmente pegar o arquivo de módulo plug-in e colocar em seu caminho do projeto. Em seguida, ativá-lo (veja pytest docs).
Uso:
Basta passar o parâmetro --incremental quando chamado a partir da linha de comando:
py.test --incremental
Você também pode habilitá-lo por padrão adicionando a seguinte linha ao seu pytest.ini:
[Pytest]
addopts = --incremental
pacotes assistidos
Por padrão, todos os módulos recolhidos pela pytest será usado como dependências se importado. A fim de limitar ou ampliar as pastas monitoradas você deve usar o parâmetro --watch-pkg
Requisitos :
- Python
Limitações :
- a partir de importação pacote * módulos importados de __all__ em um pacote não são contados como uma dependência
- módulos importados não utilizando a instrução de importação
- módulos não explictitly importados, mas usado em tempo de execução (ou seja, conftest.py ao executar seus testes com pytest)
- monkey-patching. (Ou seja, importações A X. B macaco-manchas X. Neste caso, um pode depender B)
Comentários não encontrado