1
resposta

Erro executar teste com Pytest

Ao executar os testes com a biblioteca Pytest no Pycharm estou tendo o seguinte erro:

C:\Users\lsitec27.lomba\PycharmProjects\testes2\venv\Scripts\python.exe C:/Users/lsitec27.lomba/PycharmProjects/testes2/tests/test_usuario.py Traceback (most recent call last): File "C:/Users/lsitec27.lomba/PycharmProjects/testes2/tests/test_usuario.py", line 2, in import pytest File "C:\Users\lsitec27.lomba\PycharmProjects\testes2\venv\lib\site-packages\pytest_init__.py", line 3, in from . import collect File "C:\Users\lsitec27.lomba\PycharmProjects\testes2\venv\lib\site-packages\pytest\collect.py", line 8, in from _pytest.deprecated import PYTESTCOLLECT_MODULE File "C:\Users\lsitec27.lomba\PycharmProjects\testes2\venv\lib\site-packages_pytest\deprecated.py", line 13, in from pytest.warningtypes import PytestDeprecationWarning File "C:\Users\lsitec27.lomba\PycharmProjects\testes2\venv\lib\site-packages_pytest\warning_types.py", line 8, in from pytest.compat import final File "C:\Users\lsitec27.lomba\PycharmProjects\testes2\venv\lib\site-packages\pytest\compat.py", line 43, in from importlib import metadata as importlib_metadata ImportError: cannot import name 'metadata' from 'importlib' (C:\Program Files\Python38\lib\importlib_init_.py)

Tentei inclusive baixar o zip da aula e criar um novo projeto e o erro persiste. Aparentemente é algum problema de ambiente.

Alguém poderia me ajudar, por favor? Já achei algumas coisas no google porém nada me ajudou :(

Muito obrigado.

1 resposta

Oii Mauricio, como você está? Espero que esteja bem :)

Pode ser problema de ambiente ou até mesmo da versão do python em relação a versão do pytest, mas é incerto dizer pelo log de erro que está sendo gerado.

Vou deixar abaixo alguns testes que você pode fazer para tentar sanar o problema.

Primeiro teste: Desinstale o pytest e instale-o novamente. Abaixo, o passo a passo:

  • Abra o Pycharm

  • Vá em File -> Configurations -> Project -> Python Interpreter, como mostro na imagem:

    Configurações do     Projeto no PyCharm - Python Interpreter

  • Clique em Python Interpreter

  • Aparecerá uma listagem de todas as bibliotecas do seu projeto, procure por pytest:

    Python Interpreter listagem de bibliotecas

  • Clique em pytest e após isso, clique no ícone de "menos", o símbolo de uninstall:

    Python Interpreter uninstall pytest

  • Se aparecer uma tela para você confirmar a desinstalação, clique em okay.

  • Agora, vamos instalar a biblioteca novamente por essa mesma tela. Clique no ícone de "mais", símbolo de install, ao lado do ícone de desinstalação. Você verá agora uma tela com sugestões de bibliotecas para adicionar. Procure por pytest e clique no botão install package:

    Instalando o Pytest através das configurações do Pycharm

  • Após isso, feche as janelas e vamos configurar a pytest como biblioteca padrão para os testes desse projeto:

  • Vá em File -> Settings -> Tools -> Python Integrated Tools -> Testing -> Default test runner e marque pytest no lugar de Unittests -> Apply -> Ok:

Configurando o Pytest como biblioteca padrão do projeto

  • Feche as janelas e finalmente execute os testes pela IDE através do ícone "verde", uma setinha de execução que aparecerá nas funções, como mostro abaixo:

ícone de execução dos testes - Pycharm

Caso ainda sim o mesmo erro continue aparecendo, vamos para a segunda tentativa.

Segundo teste: Executando o pytest pelo terminal.

  • Observe que no rodapé do Pycharm terá uma aba chamada "Terminal". Clique nela.

ícone do terminal - PyCharm

  • Na aba que se abrir, digite somente pytest e verifique se os testes serão executados, veja abaixo um exemplo:

Executando Pytest pelo terminal

Fique tranquilo, caso não obtenha êxito continuaremos buscando outras alternativas, tá bom?

Grande abraço!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software