| Matrícula | Aluno |
|---|---|
| 22/2029243 | Victor Hugo dos Santos Bernardes |
| 22/2015186 | Manoela Silvestre Garcia Chaves |
| 22/2029243 | Thales Henrique Euflauzino dos Santos |
| 21/1039671 | Pedro Lopes da Cunha |
| 20/2015868 | Alexandre Lema Xavier Junior |
Este projeto utiliza pytest para garantir a qualidade e o correto funcionamento de todos os componentes do sistema.
A suíte de testes foi projetada para ser simples de executar, cobrindo desde os modelos até as simulações completas do campeonato.
Os testes estão localizados dentro da pasta tests/ e são executados em conjunto pelo arquivo all_tests.py.
| Arquivo | Descrição | Nº de Testes |
|---|---|---|
test_modelos.py |
Testes unitários dos modelos básicos (Time, Partida, Rodada, Campeonato) |
6 |
test_classificacao.py |
Testes de ordenação e critérios de desempate | 6 |
test_sorteio.py |
Testes de geração de rodadas sem repetição | 4 |
test_resultado.py |
Testes de registro de placares e atualização de resultados | 6 |
test_simulacao.py |
Testes de simulação completa das 38 rodadas do campeonato | 9 |
test_tabela.py |
Testes da geração da tabela de classificação final, campeões, zonas e estatísticas | 11 |
| Total | 42 |
Você pode executar toda a suíte ou testes específicos usando os comandos abaixo:
pytest tests/ -v
pytest tests/all_tests.py -v
pytest tests/ --cov=src --cov-report=html
python tests/all_tests.py
pytest tests/ -x
pytest tests/test_classificacao.py -v
pytest tests/test_simulacao.py::test_gerar_38_rodadas_com_20_times -v
O script tests/all_tests.py funciona como um ponto de entrada para executar toda a suíte de testes. Ele utiliza a API do pytest para rodar os testes com opções configuradas:
exit_code = pytest.main([
'tests/',
'-v',
'--tb=short',
'--disable-warnings'
])
assert exit_code == 0, "Alguns testes falharam na suíte completa"Caso algum teste falhe, o script retorna uma mensagem de erro, garantindo que o pipeline ou o ambiente de CI detecte falhas automaticamente.
Este script serve para demonstrar a tabela de classificação final.
Use o seguinte comando no terminal:
python demo_tabela.py
- Python 3.10+
- pytest
pip install pytest