3
respostas

pytest

Eu utilizo o vscode como IDE e estou com dificuldade na hora de rodar o teste, consegui baixar a biblioteca, mas não está funcionando. Quando eu clico em 'run' aparece o seguinte erro

File "c:\Users\artes\OneDrive\Área de Trabalho\python_projetos\python-tdd\tests\testBytebank.py", line 1, in <module>
    from codigo.bytebank import Funcionario
ModuleNotFoundError: No module named 'codigo'

e quando utilizo a palavra 'pytest' aparece o seguinte erro:

pytest : O termo 'pytest' não é reconhecido como nome de cmdlet, função, arquivo de script ou programa operável. Verifique a grafia do nome ou, se um 
caminho tiver sido incluído, veja se o caminho está correto e tente novamente.
No linha:1 caractere:1
+ pytest
+ ~~~~~~
    + CategoryInfo          : ObjectNotFound: (pytest:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

O que devo fazer para que eu consiga rodar os testes ?

3 respostas

você ativou a venv?

não consegui ativar pelo vscode

Oi Pedro, estava com a mesma dúvida sua e consegui resolver desse jeito Esse é o código

from bytebank import Funcionario

class TestClass:
    def test_quando_idade_recebe_13_03_2000_deve_retornar_22 (self):
        entrada = '13/03/2000' # Given - contexto
        esperado = 22

        funcionario_teste = Funcionario ('Teste', entrada, 1111)
        resultado = funcionario_teste.idade () # When - ação

        assert resultado == esperado # Then - desfecho

Para conseguir rodar (tanto dentro quanto fora da venv) estou indo para o meu diretório principal do curso (no seu caso o "c:\Users\artes\OneDrive\Área de Trabalho\python_projetos\python-tdd" e rodando pytest (não pode entrar dentro da pasta de tests para isso, o pytest já entra nessa pasta sozinho para procurar os tests)

Outra coisa que demorei para corrigir no meu foi que o nome do teste tem que começar com 'test_', o seu está 'testBytebank.py' então é só colocar o 'underline' depois do test.