Olá, tudo bem com você?
Peço desculpas pela demora no retorno.
Para que os testes executados pelo Pytest não realize o mapeamento da pasta venv será necessário criar um arquivo de nome .coveragerc na pasta principal do projeto para receber uma configuração personalizada de execução dos testes e usaremos a opção omit
para informar que a pasta venv deve ser ignorada. Basta seguir os passos abaixo.
Crie o arquivo .coveragerc e adicione as seguintes linhas.
[run]
omit =
venv/*
Salve o arquivo e execute os testes. Executando o comando abaixo no terminal aberto na pasta do projeto Django.
pytest -v
Podemos também limitar a varredura dos testes feitos pelo Pytest definindo que o teste deve ser realizado em um caminho específico. Para isso será necessário adicionar as opções adicionais (addopts
) do arquivo pytest.ini
, a seguinte sintaxe.
addopts = --cov=<caminho_que_sera_verificado> <caminho_para_os_testes>
Considerando o seguinte exemplo, temos um app de nome animais e queremos verificar apenas a cobertura dos testes no arquivo models.py, usando o arquivo de testes presentes no app, a sintaxe a opção addopts
será a seguinte.
addopts = --cov=animais.models animais/tests
Note que a definição do caminho para o arquivo que será testado foi utilizado o ponto (.
) e não foi fornecido o formato do arquivo (.py
), já no caminho para os testes, é utilizado uma barra (/
). Caso não seja respeitado essa sintaxe, será elevado erro de geração de reporte e arquivo não encontrado.
Caso queira definir os testes para múltiplos arquivos, basta fornecer novamente a opção --cov
para o addopts
contendo o caminho para o arquivo e o caminho para os testes.
Após adicionar as configurações propostas acima, basta salvar os arquivos e executar os testes usando o comando abaixo.
pytest -v
Fico à disposição em caso de dúvidas.
Abraços e bons estudos.
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!