Estudo sobre testes em python usando a lib pytest
Site para estudo => https://docs.pytest.org
Vídeo tutorial incial => https://www.youtube.com/watch?v=eG4oiOE95aM
Do to list
- continuar os estudos
- colocar as dúvidas no formato de respostas em pdfs separados com o seu arquivo odg
- melhorar a estrutura dos diretórios
- responder as issues em até 45 dias.
PYTEST
UM EXEMPLO BÁSICO FÁCIL DE USO
Olá, eu não sei nada de testes, mas achei legal essa lib pytest, estou aprendendo agora e esse pdf é uma forma de eu reforçar o meu aprendizado, se você achou legal me mandar um stars no meu repo sobre o assunto pytest. Espero a sua estrelinha e quem sabe até um issue , crítica ou um hello world.
Do pouco que eu entendi sobre testes, eles ajudam a eliminar os prints da tela, quando queremos achar o bug, eu acho o debuguer também uma ferramenta super válida mas escrever um programa que vê se seu programa esta certo ou errado não tem preço.
Caso queira saber como instalar o site de consulta é https://docs.pytest.org
A seguir eu tirei fotos de um sistema que fiz para ver os erros e desculpem se tem alguma coisa errada, mas estou aprendendo ainda
Aqui você cria um arquivo para ser o teste, ele deve começar com a palavra test_ no início do arquivo ou no final _test.
Na foto vemos que optei por colocar no início então ficou test_maximo_3.py.
Dentro do arquivo test_maximo_3.py Vamos inserir a lib do pytest dando um import
import pytest
E depois vamos importar o nosso arquivo nesse caso chamamos o mesmo de maximo_3.py , ou seja é um programa que pega 3 números e retorna o maior deles.
import maximo_3 as max3
No terminal chamamos o programa pytest test_maximo_3.py
E já temos o nosso primeiro teste, nesse caso mostrando o erro ou seja não temos o arquivo maximo_3.py
Criamos o nosso arquivo maximo_3.py, que pega 3 parâmetros definidos na função maximo_3(x,y,z)
Vamos ver agora o que o pytest tem a dizer, quando rodarmos novamente o nosso arquivo de teste qual erro ele vai mostrar ???
Eita e eu achei que ia mostrar um super erro, kkk
Então não mostrou nada mas ele nos diz “ no tests ran in 0.00s “ , inclusive Super Rápido.
Isso aconteceu pois no nosso arquivo de testes não tem nenhum teste, mas agora vamos fazer alguns testes, segue a fita ...
Aqui temos o nosso primeiro teste, nesse caso ele indica um erro de tipo pois nossa função só aceita números e não strings.
Vamos no terminal e testamos novamente o nosso programa test_maximo_3.py usando o pytest, o que será que ele vai mostrar agora ???
Opa deu um erro falando que esta retornando None, mas é claro eu não escrevi nada ainda no arquivo maximo_3.py, vamos escrever a função e testar novamente.
Já escrevemos a função que retorna o maior valor e agora vamos testar novamente o programa, usando o nosso outro programa test_maximo_3.py.
E agora o que vai ser mostrado ???
Que bom o teste funcionou, agora podemos escrever mais testes para o nosso arquivo de testes e verificar se o nosso programa esta funcionando de acordo com o esperado. Então vamos para mais alguns testes...
Escrevi mais umas linhas para verificar no caso se esta passando o maior número, linhas 5 a 7 e também nas linhas 12 a 14 para ver o resultado se todos os números forem iguais, poderia escrever mais testes, mas acho que já entendemos, pelo menos essa parte.
Espero que tenha gostado e mande uns stars no meu repo sobre o pytest
Esse markdown foi convertido de um pdf, vamos arrumando com o tempo os arquivos da foto e diagramação.