Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ qa-api-python/
├── conftest.py # Fixtures (contexto por cenário) e captura de evidência de falha
├── pyproject.toml # Dependências, scripts e configuração (pytest, ruff, mypy)
├── .pre-commit-config.yaml # Hooks de pre-commit (ruff, mypy)
├── codecov.yml # Metas de cobertura que bloqueiam o merge no Codecov
├── LICENSE
└── README.md # Este arquivo
```
Expand Down Expand Up @@ -91,6 +92,8 @@ O CI roda `mypy`, `ruff check`, `ruff format --check` e `pip-audit` antes dos te

Cada execução de `pytest` já gera cobertura de `api/` e `models/` (código dos API Clients e dos schemas), impressa no terminal e também em `reports/coverage.xml` (não versionado). No CI esse arquivo é enviado para o [Codecov](https://codecov.io/gh/ThomasTDS/qa-api-python), que mantém o histórico e mostra o badge no topo deste README.

O Codecov também bloqueia o merge do PR (configuração em `codecov.yml`) se: o código novo/alterado no PR (`patch`) não vier 100% coberto, ou se a cobertura total do projeto (`project`) cair mais de 1 ponto percentual — uma margem pequena, só pra não travar por causa de arredondamento.

Um hook de pre-commit (framework `pre-commit`, instalado via `pre-commit install` após o `pip install`) roda `ruff --fix` e `ruff format` nos arquivos staged, e também `mypy .` no projeto inteiro, antes de cada commit — então a maioria dos problemas de lint, formatação ou tipo já é pega localmente antes de chegar no CI.

### Rodar contra outra URL
Expand Down
9 changes: 9 additions & 0 deletions codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
coverage:
status:
project:
default:
target: auto
threshold: 1%
patch:
default:
target: 100%
Loading