Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

[Dúvida] Pytest no terminal não funciona

Bom dia gente, tudo bem? Quando eu uso pytest no terminal ocorre o seguinte erro: Insira aqui a descrição dessa imagem para ajudar na acessibilidade Dei uma olhada nas outras dúvidas e normalmente o erro ocorre na hora de importar, mas no meu caso parece estar correto. Insira aqui a descrição dessa imagem para ajudar na acessibilidadeObs: O programa funciona quando eu rodo separadamente os testes

Desde já, agradeço.

4 respostas

Olá Leornardo!

Realizando uma leitura fria do erro ele está indicando é que não é possível encontrar o módulo 'codigo', que é importado a partir do arquivo '/home/leonardo/PycharmProjects/Python_and_TDD/test/test_bytebank.py'.

Existem algumas coisas que você pode verificar:

  • Certifique-se de que o módulo codigo esteja importado corretamente. No seu caso, você está usando a instrução from codigo.bytebank import Funcionario.
  • Uma última observação e olhar que o nome do módulo esteja correto e que o módulo esteja importado na pasta correta, seguindo a sua observação o erro deve está na estruturação do seu projeto, por conta disso há esses erros.

Espero que seja essas dicas possam lhe dar um norte a respeito do erro.

Reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

tive o mesmo problema, tente fazer o import desa forma from bytebank import Funcionario

Pior que continua com o erro ainda, porém agora fala que bytebank não existe. Não acho que o erro esteja na estrutura de import porque quando faço um teste unitário, o codigo funciona. O problema é quando escreve pytest no terminal, simplesmente não funciona, e fala que a pasta não existe. Muito estranho.

solução!

Olá, como vocês estão?

Leonardo analisando melhor a imagem percebi que o nome do arquivo __init__.py na imagem está escrito de forma incorreta. Você acabou colocando _init_.py (com 1 underscore), mas o certo é __init__.py(com dois underscore). Você deve apagar o arquivo e criá-lo novamente dentro da pasta 'tests' usando o nome correto e tentar rodar o teste no terminal. Acredito que isso deve resolver o problema.

Outra alternativa é adicionar o diretório atual no caminho de busca do Python. Da seguinte forma (arquivo test_bytebank.py):

import sys
import os

diretorio_atual = os.path.dirname(os.path.abspath(__file__))
sys.path.append(os.path.join(diretorio_atual, ".."))

from codigo.bytebank import Funcionario

Espero ter ajudado e reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

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