IniziaInizia gratis

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

Visualizza il corso

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 username al metodo .isValidUsername() e memorizza il risultato.
  • Verifica con un'asserzione che il caso null non 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)
    }
}
Modifica ed esegui il codice