1
resposta

Test não retorna nada usando Google Colab

Estou usando o Google Colab, mas quando rodo dos testes não há nenhum retorno...

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Oii Caio, tudo certo?

Peço desculpas pela demora em obter um retorno.

Para executar os testes dentro do Colab da forma como é mostrado no curso utilizando pastas e arquivos separados, exigirá uma configuração mais trabalhosa, conforme foi apresentado neste outro tópico, onde é necessário criar uma estrutura de pastas e executar alguns comandos nas células do Google Colab.

Já para o caso do código apresentado por você, utilizando a unittest, podemos invocar a função main da própria biblioteca unittest, que é responsável por executar o teste e nos retornar o sucesso ou insucesso do mesmo:

unittest.main(argv=[""], exit=False)

Onde:

  • argv[""]: impede que o Colab examine o caminho do arquivo que está executando o Kernel do Python (processo de execução do Colab), ou seja, que procure o teste em um arquivo diferente do atual
  • exit=False: impede a finalização do Kernel.

Código completo:

from unittest import TestCase
import unittest

class TestAvaliador(TestCase):

    def test_avalia(self):
        gui = Usuario('Gui')
        yuri = Usuario('Yuri')

        lance_do_yuri = Lance(yuri, 100.0)
        lance_do_gui = Lance(gui, 150.0)

        leilao = Leilao('Celular')

        leilao.lances.append(lance_do_yuri)
        leilao.lances.append(lance_do_gui)

        avaliador = Avaliador()
        avaliador.avalia(leilao)

        menor_valor_esperado = 100.0
        maior_valor_esperado = 150.0

        self.assertEqual(menor_valor_esperado, avaliador.menor_lance)
        self.assertEqual(maior_valor_esperado, avaliador.maior_lance)

unittest.main(argv=[''], exit=False)

Resultado:

Imagem da tela do google colab, com o fundo branco, temos nessa imagem o código apresentado anteriormente e o seu resultado, temos como resultado a seguinte mensagem, Ran 1 test in 0.001s, OK <unittest.main.TestPrograma at 0x7f50b9e2bf50>.

Reforço ainda que no cenário de testes, geralmente é utilizado algum editor de texto ou IDE que ofereça recursos mais potentes para testes, como é o caso do Vscode ou PyCharm e esse foi um dos motivos do instrutor ter optado pelo PyCharm em relação ao Google Colab.

Qualquer dúvida estou à disposição.

Espero ter ajudado. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!