Olá!
No gabarito temos a seguinte implementação de um teste que certifica que não consigamos colocar lances fora de ordem no leilão:
def test_nao_deve_permitir_propor_um_lance_em_ordem_decrescente(self):
with self.assertRaises(LanceInvalido):
yuri = Usuario('Yuri', 500.0)
lance_do_yuri = Lance(yuri, 100.0)
self.leilao.propoe(self.lance_do_gui)
self.leilao.propoe(lance_do_yuri)
O escopo desse self.assertRaises() não está um pouco abrangente demais dado que não estamos esperando que haja uma exceção tipo LanceInválido na primeira chamada de self.leilao.propoe()?
Eu sugeriria a refatoração deste teste para que fique assim:
def test_nao_deve_permitir_propor_um_lance_em_ordem_decrescente(self):
yuri = Usuario('Yuri', 500.0)
lance_do_yuri = Lance(yuri, 100.0)
self.leilao.propoe(self.lance_do_gui)
with self.assertRaises(LanceInvalido):
self.leilao.propoe(lance_do_yuri)
Assim só exigiremos a LanceInvalido onde ela deve acontecer e não no código todo...
O que acham?
Atc,
WB::