No test.leilao eu consigo rodar os testes direto de cada teste ou rodar todos direto pelo play na classe. Mas no test.usuario nao esta aparecendo o play do lado pra rodar cada teste separadamente.
No test.leilao eu consigo rodar os testes direto de cada teste ou rodar todos direto pelo play na classe. Mas no test.usuario nao esta aparecendo o play do lado pra rodar cada teste separadamente.
Oiii Venâncio, como você está?
Vou te pedir para fazer um teste, tá bom? Vamos verificar como está a configuração da biblioteca de testes do PyCharm e adicionar a Unittest
como padrão:
Vá em File -> Settings -> Tools -> Python Integrated Tools -> Testing -> Default test runner e marque Unittest
(caso você já esteja na parte do curso que utiliza a biblioteca pytest
, ao invés de Unittest
selecione pytest
) -> Apply -> Ok:
Após isso, verifique se irá aparecer o play.
Qualquer dúvida estou por aqui, tá bom? A gente vai conversando.
Grande abraço!
Eu fiz o que orientou e agora esta funcionando. Gostaria de entender pq antes nao estava funcionando ?
Venâncio, bom dia. Antes de explicar sobre isso, me confirme por favor qual você colocou, o Unittest
ou o Pytest
?
Eu atualizei para Pytest
"Gostaria de entender pq antes nao estava funcionando ?"
Existe uma peculiaridade entre essas duas bibliotecas de testes, Venâncio. A biblioteca Pytest
consegue suportar os testes feitos na biblioteca Unittest
, mas o contrário não é verdadeiro, ou seja, um teste feito com a biblioteca Unittest
será executado utilizando a Pytest
, mas um teste feito com a Pytest
não será executado utilizando a Unittest
. E isso ocorre pelo fato da Pytest
possui maiores recursos do que a Unittest
, que é uma biblioteca simples, dedicada a testes de unidade.
No seu caso, o que estava ocorrendo é que o teste de usuário estava utilizando a biblioteca pytest, porém, lembra que eu disse acima que a Unittest
não suporta a Pytest
? Por isso os testes não estavam sendo descobertos. Após realizar a troca para pytest
o "play" volta a aparecer porque além da pytest
suportar testes que ela mesma está incluída, ela também consegue descobrir testes feitos na biblioteca unittest
.
Qualquer dúvida estou por aqui, tá?