Validazione dello username
Stai creando il form di registrazione per il tuo sito e in questo momento ti stai occupando della validazione dello username. È un metodo booleano true/false, ma ha molti rami logici e vuoi assicurarti che siano tutti raggiungibili e si comportino come previsto.
Per verificare completamente questo metodo, devi scrivere più test, uno per ciascun tipo di scenario. Fortunatamente, non è troppo complicato.
I pacchetti JUnit necessari sono già stati importati per te.
Questo esercizio fa parte del corso
Introduzione al Testing in Java
Istruzioni dell'esercizio
- Inserisci uno username troppo corto (meno di 3 caratteri) che non superi la validazione nel test che verifica il controllo sulla lunghezza dello username.
- Passa il
usernameal metodo.isValidUsername()e memorizza il risultato. - Verifica con un'asserzione che il caso
nullnon superi la validazione dello username.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
public class Main {
public static void main(String[] args) {
launchTestsAndPrint(UsernameValidatorTest.class);
}
}
class UsernameValidator {
public static boolean isValidUsername(String username) {
return username != null && !username.isEmpty() && !username.contains(" ") && username.length() >= 3;
}
}
class UsernameValidatorTest {
@Test
void isValidUsername_returnsTrue_whenValidUsername() {
String username = "john_doe";
boolean actual = UsernameValidator.isValidUsername(username);
assertTrue(actual);
}
@Test
void isValidUsername_returnsFalse_whenSpaces() {
String username = "john doe";
boolean actual = UsernameValidator.isValidUsername(username);
assertFalse(actual);
}
@Test
void isValidUsername_returnsFalse_whenShortUsername() {
// Enter a username that is too short
String username = "____";
boolean actual = UsernameValidator.isValidUsername(username);
assertFalse(actual);
}
@Test
void isValidUsername_returnsFalse_whenNull() {
String username = null;
// Pass the username to isValidUsername
boolean actual = UsernameValidator.____(____);
// Verify the username is invalid
____(actual)
}
}