Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Não consigo rodar o test direto de cada teste

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.

5 respostas
solução!

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:

image

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á?