Estou tentando criar alguns casos de teste e li que você deve tentar limitar o número de asserções por caso de teste.
Então, minha pergunta é: qual é a melhor maneira de testar uma função com várias entradas. Por exemplo, eu tenho uma função que analisa uma string do usuário e retorna o número de minutos. A cadeia pode estar no formato "5w6h2d1m"
, onde w, h, d, m
corresponde ao número de semanas, horas, dias e minutos.
Se eu quisesse seguir a 'regra de 1 afirmação por teste', teria que fazer vários testes para cada variação de entrada? Isso parece bobagem, então eu só tenho algo como:
self.assertEqual(parse_date('5m'), 5)
self.assertEqual(parse_date('5h'), 300)
self.assertEqual(parse_date('5d') ,7200)
self.assertEqual(parse_date('1d4h20m'), 1700)
No caso de um teste. Existe uma maneira melhor?