fga-eps-mds / 2020.2-Anunbis

Aplicação que auxilia na avaliação de professores e disciplinas da UnB. Anunbis: https://anunbis-frontend.herokuapp.com/. Anunbis-API: http://anunbis-backend.herokuapp.com/
https://fga-eps-mds.github.io/2020.2-Anunbis/
GNU General Public License v3.0
5 stars 11 forks source link

[BUG] Multiplas classes de teste #158

Closed thiagohdaqw closed 3 years ago

thiagohdaqw commented 3 years ago

Descrição do bug:

A partir da implementação de #152, quando se cria mais de um arquivo de teste, o Flask dá erro dizendo que a rota ja foi cadastrada antes.

Para reproduzi-lo:

  1. Crie dois arquivos de testes com um teste qualquer

  2. Execute o tox pipenv run tox ou pipenv shell e tox

Captura de Tela:

1.

image image image

2.

image

Sistema:

thiagohdaqw commented 3 years ago

Aparentemente as variaveis que estão fora de funções só são executadas uma vez por modulo, então, como mostra a figura abaixo, a api só é criada uma vez e nos proximos testes reutiliza ela e tenta recadastrar as rotas no init_app().

image

Uma possivel solução é arrastar essas três variaveis para dentro da função init_app()

thiagohdaqw commented 3 years ago

As modificações do comentário acima aparentemente resolveu o primeiro bug. No entanto, apareceu outro erro, como mostra a figura abaixo, está tendo problema em criar as tabelas no banco de dados. image

Para resolver isso, é necessario apos cada teste, na função tearDown() , dropar o contexto atual image

thiagohdaqw commented 3 years ago

tests/test_flask_api.py necessariamente não é um test, e sim uma classe de teste basico. Assim, acho que vale renomear ela para tests/flask_base_tests_cases.py