Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

O PyCharm faz apenas 1 teste

Quando testo o programa ele da certo, mas apenas 1 teste é feito.

from unittest import TestCase
from dominio import Usuario, Leilao, Lance, Avaliador


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

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

        leilao = Leilao('Celular')

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

        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)

    def test_avalia2(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)

Como resolvo isso?

3 respostas
solução

Veja qual botão você está apertando para rodar os testes, talvez esse seja o problema. Se você apertar o "play" do lado da classe ele roda todos os testes dentro dessa classe. Se você apertar o "play" do lado do método, ele roda apenas aquele teste. Bem bobo, mas vai que né kkkkkkkk

Realmente o problema era esse kkkkkk. Obrigado pela ajuda!

Hahahahaha tamo junto!