Aan de slagGa gratis aan de slag

Gebruikersnaam valideren

Je schrijft het aanmeldformulier voor je website en werkt nu aan de validatie van de gebruikersnaam. Het is een booleaanse true/false-methode, maar hij heeft veel vertakkingen en je wilt zeker weten dat ze allemaal bereikbaar zijn en zich gedragen zoals verwacht.

Om deze methode volledig te verifiëren, moet je meerdere tests schrijven, één voor elk type scenario. Gelukkig is dat niet al te ingewikkeld.

De benodigde JUnit-pakketten zijn al voor je geïmporteerd.

Deze oefening maakt deel uit van de cursus

Introductie tot testen in Java

Cursus bekijken

Oefeninstructies

  • Voer in de test die de lengtecontrole van de gebruikersnaam verifieert een gebruikersnaam in die te kort is (minder dan 3 tekens) en dus niet door de validatie komt.
  • Geef de username door aan de methode .isValidUsername() en sla het resultaat op.
  • Maak een assertion dat het null-geval niet slaagt voor de gebruikersnaamvalidatie.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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)
    }
}
Code bewerken en uitvoeren