Instantly share code, notes, and snippets.

Embed
What would you like to do?
class PersonTestCase(TestCase):
def test_should_return_attributes(self):
fields = ('first_name', 'last_name', 'age')
for field in fields:
with self.subTest():
self.assertTrue(hasattr(Person, field))
@rfdeoliveira

This comment has been minimized.

rfdeoliveira commented Aug 10, 2018

Acho uma boa ideia! Elimina a repetição de assertTrue e faz distinção de falhas entre iterações sem parar na primeira :)

@moacirmoda

This comment has been minimized.

moacirmoda commented Aug 10, 2018

Achei boa também. A princípio não gosto de otimizar muito códigos de teste. Acredito que ele tenha que ser explícito e não otimizado pra mostrar exatamente o a linha de raciocínio. Entretanto, o lance do subtest faz sentido. Vou adicionar no post.

Valeu Marcelão!

@marceloandriolli

This comment has been minimized.

Owner

marceloandriolli commented Aug 10, 2018

@moacirmoda também tomo esse cuidado, otimizar de maneira purista pode dificultar a legibilidade e o entendimento.
@rfdeoliveira facilitar além de facilitar na mensagem de falha.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment