Coverage.py: Verificação de Cobertura de Código com Testes em Python

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

O que é o Coverage.py

O Coverage.py é uma ferramenta poderosa para análise de cobertura de código com testes em Python, que permite aos desenvolvedores identificar quais partes do seu código foram executadas durante os testes e quais permaneceram sem uso. Esta ferramenta é uma parte essencial do processo de garantia de qualidade de código e ajuda a identificar potenciais problemas na cobertura de testes.

O principal objetivo do Coverage.py é fornecer informações detalhadas sobre o quão completamente seus testes cobrem o código escrito. A ferramenta analisa a execução do programa e gera relatórios mostrando a porcentagem de cobertura para cada arquivo, módulo ou até mesmo linhas individuais de código.

Principais recursos do Coverage.py

O Coverage.py oferece uma ampla gama de funções para análise de cobertura de código:

Medição de cobertura de linhas — função básica que rastreia quais linhas de código foram executadas durante os testes.

Análise de ramificações — função avançada que verifica se todos os caminhos possíveis de execução em construções condicionais (if, elif, else) foram executados.

Geração de relatórios — criação de relatórios detalhados em vários formatos: texto, HTML, XML, JSON.

Integração com frameworks — funcionamento perfeito com frameworks de teste populares como pytest, unittest, nose.

Configuração de exclusões — possibilidade de excluir determinados arquivos, pastas ou linhas da análise de cobertura.

Instalação e configuração inicial

Instalação padrão

Para instalar o Coverage.py, use o pip:

pip install coverage

Instalação com recursos adicionais

Se você trabalha com pytest, é recomendável instalar o plugin pytest-cov:

pip install pytest-cov

Para trabalhar com arquivos de configuração toml:

pip install coverage[toml]

Verificando a instalação

Após a instalação, verifique se o Coverage.py está funcionando corretamente:

coverage --version

Comandos principais e seu uso

Executando a análise de cobertura

Execução básica da análise de cobertura para um script Python:

coverage run my_script.py

Execução com parâmetros adicionais:

coverage run --source=my_package my_script.py

Execução com o módulo unittest

coverage run -m unittest discover

Execução com pytest

coverage run -m pytest

Ou usando pytest-cov:

pytest --cov=my_module tests/

Visualizando o relatório de cobertura

Relatório de texto no terminal

coverage report

Exemplo de saída:

Name                 Stmts   Miss  Cover
----------------------------------------
my_module.py            25      3    88%
utils.py                15      0   100%
main.py                 20      5    75%
----------------------------------------
TOTAL                   60      8    87%

Relatório detalhado com linhas ausentes

coverage report --show-missing

Relatório HTML

coverage html

Após executar o comando, abra o arquivo htmlcov/index.html no navegador para visualizar o relatório interativo.

Relatório XML para CI/CD

coverage xml

Relatório JSON

coverage json

Gerenciamento de dados de cobertura

Limpando dados

                
    
    

Recommendations