Ho tre funzioni:
-
ValidateUsername()
, che determina se una stringa è un nome utente valido secondo alcune regole -
SetUsername()
che imposta una stringa come Username dell'utente se supera la convalida -
AddNewUser()
, che crea un nuovo utente e, tra le altre cose, imposta una stringa come sua Username usandoSetUsername()
Tutti e tre dovrebbero fallire se la stringa nome utente fornita non è corretta, tuttavia ValidateUsername()
è dove si trovano le regole. Come posso testare questo? Il test della convalida solo in ValidateUsername()
lascia la possibilità che qualcuno ometta erroneamente la convalida e imposta il nome utente direttamente in AddNewUser()
. D'altra parte, la ripetizione di tutti i diversi casi di test di convalida per tutte le funzioni sembra controproducente. Qual è la migliore pratica?