Skip to content

Instantly share code, notes, and snippets.

@marceloandriolli
Created August 10, 2018 02:19
Show Gist options
  • Save marceloandriolli/ce9c1ecd712d5118c74e8fefd497e5cc to your computer and use it in GitHub Desktop.
Save marceloandriolli/ce9c1ecd712d5118c74e8fefd497e5cc to your computer and use it in GitHub Desktop.
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))
@ronaldooliveiradevbr
Copy link

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

@moacirmoda
Copy link

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
Copy link
Author

@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