Sto cercando di creare alcuni casi di test e ho letto che dovresti provare a limitare il numero di asserzioni per caso di test.
Quindi la mia domanda è: qual è il modo migliore per testare una funzione con più input. Ad esempio, ho una funzione che analizza una stringa dall'utente e restituisce il numero di minuti. La stringa può essere nella forma "5w6h2d1m"
, dove w, h, d, m
corrisponde al numero di settimane, ore, giorni e minuti.
Se volessi seguire il '1 asserzione per regola di test' dovrei fare più test per ogni variazione di input? Sembra sciocco, quindi invece ho solo qualcosa del tipo:
self.assertEqual(parse_date('5m'), 5)
self.assertEqual(parse_date('5h'), 300)
self.assertEqual(parse_date('5d') ,7200)
self.assertEqual(parse_date('1d4h20m'), 1700)
Nell'un caso di test. C'è un modo migliore?