[tool.taskipy.tasks]
lint = 'ruff check'
pre_format = 'ruff check --fix'
format = 'ruff format'
run = 'fastapi dev fast_zero/app.py'
pre_test = 'task lint'
test = 'pytest -s -x --cov=fast_zero -vv'
post_test = 'coverage html'
Aos testes, na verdade!
Dentro da pasta test
vamos criar um arquivo chamado test_app.py
from fastapi.testclient import TestClient
from fast_zero.app import app
client = TestClient(app)
from http import HTTPStatus
from fastapi.testclient import TestClient
from fast_zero.app import app
def test_root_deve_retornar_ok_e_ola_mundo():
client = TestClient(app) # Arrange
response = client.get('/') # Act
assert response.status_code == HTTPStatus.OK # Assert
assert response.json() == {'message': 'Olá Mundo!'} # Asset
A estrutura de um teste, costuma contar com 3 ou 4 fases importantes.
pipx run ignr -p python > .gitignore
git init .
gh repo create
Crie um repositório para acompanhar o curso e suba em alguma plataforma, como Github, gitlab, codeberg, etc. E compartilhe o link na issue #91 do repositório do curso para podermos aprender juntos.
Não se esqueça de responder o quiz dessa aula
Caso o mundo dos testes ainda seja um pouco nebuloso para você, recomendo que antes de partir para a próxima aula, você dê uma assistida em algumas lives de python de fora desse curso:
mermaid.js